Thank you for the explanation.  I see that the flushing caps can take
place at any time, such as during a filesystem sync.

As explained in the linked articles, the caps obtained by
`ceph_try_get_caps` can get lost.  To my limited knowledge, the backend
functions might get some caps even though it eventually went into an
error.  In such situation, value of `got` turns non-zero and yet `ret`
is negative.

The fix as found on Linux kernel 6.12 is that, when the code reaches the
`out` label, the value of `got` is examined and put back if necessary.
It is only 3 or 4 lines of changes, although I see it will need some
time for QA.

So my question is, whether the fix would be back ported to the kernel /
libcephfs of Ubuntu 22.04 LTS.  Thanks in advance for your help.

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/2093880

Title:
  libcephfs: flush the caps release in filesystem sync

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/ceph/+bug/2093880/+subscriptions


-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to