]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: do not dispatch aborted internal requests 56536/head
authorPatrick Donnelly <pdonnell@redhat.com>
Wed, 27 Mar 2024 16:03:12 +0000 (12:03 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Thu, 28 Mar 2024 00:19:13 +0000 (20:19 -0400)
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 <pdonnell@redhat.com>
src/mds/MDCache.cc

index 127721f085bbc3d41c0944fa7e571fc5f56bc83c..0226ce32f719a70ebeb56c9a86f29c2b2a4dc0ac 100644 (file)
@@ -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);