From 58a1569b39c2c7281960117672f86c63ad7e11c5 Mon Sep 17 00:00:00 2001 From: Xiubo Li Date: Tue, 26 Sep 2023 12:54:58 +0800 Subject: [PATCH] ceph: allow xlock state to be LOCK_PREXLOCK when putting it When the journal logs are successfully flushed the lockers' state could be LOCK_PREXLOCK if the inflight OP need to gather issued caps. Fixes: https://tracker.ceph.com/issues/44565 Signed-off-by: Xiubo Li (cherry picked from commit 81890e8a57341b3a14db310ae1700394ecdbbad4) --- src/mds/SimpleLock.h | 1 + 1 file changed, 1 insertion(+) diff --git a/src/mds/SimpleLock.h b/src/mds/SimpleLock.h index 725c4488c17f0..ef41c40885571 100644 --- a/src/mds/SimpleLock.h +++ b/src/mds/SimpleLock.h @@ -417,6 +417,7 @@ public: ceph_assert(state == LOCK_XLOCK || state == LOCK_XLOCKDONE || state == LOCK_XLOCKSNAP || state == LOCK_LOCK_XLOCK || state == LOCK_LOCK || /* if we are a leader of a peer */ + state == LOCK_PREXLOCK || is_locallock()); --more()->num_xlock; parent->put(MDSCacheObject::PIN_LOCK); -- 2.39.5