.MDS no longer gets indefinitely stuck while waiting for the cap revocation acknowledgement
Previously, if `__setattrx()` failed, the `_write()` would retain the `CEPH_CAP_FILE_WR` caps reference, the MDS would be indefinitely stuck waiting for the cap revocation acknowledgment. It would also cause other clients' requests to be stuck indefinitely.
With this fix, the `CEPH_CAP_FILE_WR` caps reference is released if the `__setattrx()` fails and MDS' caps revoke request is not stuck.
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.
For information on the advisory (Moderate: Red Hat Ceph Storage 6.1 security and bug fix update), and where to find the updated
files, follow the link below.
If the solution does not work for you, open a new bug report.
https://access.redhat.com/errata/RHSA-2023:3623
If the __setattrx() fails it will leave the CEPH_CAP_FILE_WR caps reference kept. The tracker is https://tracker.ceph.com/issues/58717.