From: Patrick Donnelly Date: Wed, 27 Mar 2024 16:03:12 +0000 (-0400) Subject: mds: do not dispatch aborted internal requests X-Git-Tag: testing/wip-root-testing-20240411.174241~17^2 X-Git-Url: http://git.apps.os.sepia.ceph.com/?a=commitdiff_plain;h=89570c75db662ea0c09eea0a54198411032abcd8;p=ceph-ci.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 (cherry picked from commit 604112eb867c20e4f94835edff6a542630503bd6) --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 127721f085b..0226ce32f71 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);