]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't start purging inodes in the middle of recovery 38859/head
authorYan, Zheng <ukernel@gmail.com>
Mon, 1 Feb 2021 05:54:04 +0000 (13:54 +0800)
committerYan, Zheng <ukernel@gmail.com>
Mon, 1 Feb 2021 06:04:16 +0000 (14:04 +0800)
when mds enter clientreplay/active state, it will start purging
each log segments' purging_inodes.

Signed-off-by: "Yan, Zheng" <ukernel@gmail.com>
Fixes: https://tracker.ceph.com/issues/49074
src/mds/Server.cc

index 61a67d8a50ec2fac94d3a2b170f681da82c97199..6da8bb93db53eb18416498cf43d7e2204ebcc74a 100644 (file)
@@ -820,7 +820,8 @@ void Server::_session_logged(Session *session, uint64_t state_seq, bool open, ve
       ceph_assert(ls);
       session->info.prealloc_inos.subtract(inos_to_purge);
       ls->purging_inodes.insert(inos_to_purge);
-      mdcache->purge_inodes(inos_to_purge, ls);
+      if (mds->is_clientreplay() || mds->is_active() || mds->is_stopping())
+       mdcache->purge_inodes(inos_to_purge, ls);
     }
 
     if (inos_to_free.size()) {