From: Patrick Donnelly Date: Wed, 27 Mar 2024 16:03:12 +0000 (-0400) Subject: mds: do not dispatch aborted internal requests X-Git-Tag: v20.0.0~2272^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F56536%2Fhead;p=ceph.git mds: do not dispatch aborted internal requests Matching the behavior of Server::dispatch_client_request. This logic can be unified in a future refactor but keeping this as a targetted fix for the purposes of the bug. Fixes: https://tracker.ceph.com/issues/65182 Signed-off-by: Patrick Donnelly --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 127721f085bb..0226ce32f719 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -9818,6 +9818,11 @@ void MDCache::dispatch_request(const MDRequestRef& mdr) } else if (mdr->peer_request) { mds->server->dispatch_peer_request(mdr); } else { + if (mdr->aborted) { + mdr->aborted = false; + request_kill(mdr); + return; + } switch (mdr->internal_op) { case CEPH_MDS_OP_QUIESCE_PATH: dispatch_quiesce_path(mdr);