]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't cap log when there are replicated objects
authorYan, Zheng <zyan@redhat.com>
Tue, 9 Oct 2018 08:42:41 +0000 (16:42 +0800)
committerJonathan Brielmaier <jbrielmaier@suse.de>
Wed, 14 Nov 2018 15:40:06 +0000 (16:40 +0100)
replicas may dirty scatter locks

Fixes: http://tracker.ceph.com/issues/36350
Signed-off-by: "Yan, Zheng" <zyan@redhat.com>
(cherry picked from commit 6c1d4c606a9f597196235aa5cd3fa6d98a683290)
Signed-off-by: Jonathan Brielmaier <jbrielmaier@suse.de>
Conflicts:
src/mds/MDCache.cc: adapt to code around

src/mds/MDCache.cc

index d9f68ad68cb415e3d79f66da56c46cc69bcde6e5..c02ed7d84a4a7e580f7f30c97e6c81181778409a 100644 (file)
@@ -7833,6 +7833,12 @@ bool MDCache::shutdown_pass()
   assert(!migrator->is_exporting());
   assert(!migrator->is_importing());
 
+  // replicas may dirty scatter locks
+  if (myin && myin->is_replicated()) {
+    dout(7) << "still have replicated objects" << dendl;
+    return false;
+  }
+
   if ((myin && myin->is_auth_pinned()) ||
       (mydir && mydir->is_auth_pinned())) {
     dout(7) << "still have auth pinned objects" << dendl;