]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: avoid gather assertion when subs exist
authorPatrick Donnelly <pdonnell@redhat.com>
Sat, 16 Feb 2019 22:30:41 +0000 (14:30 -0800)
committerVenky Shankar <vshankar@redhat.com>
Thu, 4 Apr 2019 07:12:17 +0000 (03:12 -0400)
If the gather has subs and is deleted, we hit this assertion:

    ceph_assert(activated);

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
(cherry picked from commit 0a0f9a080050736c27c22cf6aeda056e90275818)

src/mds/MDSRank.cc

index 9b35b66ba4b9491e7fe374d4a61ce0afd652ea51..62518ae83dcd6a8d509ddd44889cd1620a5834cc 100644 (file)
@@ -343,7 +343,8 @@ private:
         delete gather;
         return handle_recall_client_state(0);
       } else if (recall_timeout > 0 && duration > recall_timeout) {
-        delete gather;
+        gather->set_finisher(new C_MDSInternalNoop);
+        gather->activate();
         return handle_recall_client_state(-ETIMEDOUT);
       } else {
         uint64_t remaining = (recall_timeout == 0 ? 0 : recall_timeout-duration);