From: Venky Shankar Date: Fri, 17 Apr 2026 13:12:16 +0000 (+0530) Subject: mds: add retry request to MDSRank wait queue rather via finisher X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=02735a362c685bfdb975ab86c9b042a8792f75b0;p=ceph.git mds: add retry request to MDSRank wait queue rather via finisher C_MDS_RetryRequest inherits from MDSInternalContext which does not acquire mds_lock by itself. Adding to MDSRank wait queue will process this via the progress thread which completes the context with mds_lock acquired. Fixes: http://tracker.ceph.com/issues/76031 Signed-off-by: Venky Shankar --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 9dc40a31bf2e..c17c77c152cd 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -10006,7 +10006,7 @@ void MDCache::request_cleanup(const MDRequestRef& mdr) if (!new_batch_head) { mdr->batch_op_map->erase(it); } else { - mds->finisher->queue(new C_MDS_RetryRequest(this, new_batch_head)); + mds->queue_waiter(new C_MDS_RetryRequest(this, new_batch_head)); } }