]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: just delete MDSIOContextBase during shutdown
authorPatrick Donnelly <pdonnell@redhat.com>
Tue, 25 Feb 2020 18:36:11 +0000 (10:36 -0800)
committerVicente Cheng <freeze.bilsted@gmail.com>
Thu, 16 Apr 2020 06:07:21 +0000 (06:07 +0000)
We don't want the finisher called during shutdown.

Fixes: https://tracker.ceph.com/issues/44295
Fixes: 73436961512bd87981244fa48212085faf7028c4
Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 79f5052a1ddb61043de4e1cbec19ede2a6b4f53b)

src/mds/MDSContext.cc

index eecaa81e47e9c782c654d67a4830853fd3bd105e..af2c0892d35d5cd84c8829c55e10ec7672c24a06 100644 (file)
@@ -98,11 +98,8 @@ void MDSIOContextBase::complete(int r) {
   if (mds->is_daemon_stopping()) {
     dout(4) << "MDSIOContextBase::complete: dropping for stopping "
             << typeid(*this).name() << dendl;
-    MDSContext::complete(r);
-    return;
-  }
-
-  if (r == -EBLACKLISTED) {
+    delete this;
+  } else if (r == -EBLACKLISTED) {
     derr << "MDSIOContextBase: blacklisted!  Restarting..." << dendl;
     mds->respawn();
   } else {