In order to check an inode's F_QUIESCE_BLOCK, the quiesce_inode op must acquire
the policylock. Furthermore, to ensure the F_QUIESCE_BLOCK is not changed
during quiesce, the lock must be held for the duration of the op's lifetime.
Fixes: https://tracker.ceph.com/issues/65595
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
MutationImpl::LockOpVec lov;
lov.add_xlock(&in->quiescelock); /* !! */
+ lov.add_rdlock(&in->policylock); /* for F_QUIESCE_BLOCK test */
if (in->is_auth()) {
if (splitauth) {