]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: check earlier if directories are already exported 29219/head
authorRishabh Dave <ridave@redhat.com>
Thu, 7 Mar 2019 05:00:09 +0000 (10:30 +0530)
committerNathan Cutler <ncutler@suse.com>
Wed, 16 Oct 2019 10:57:39 +0000 (12:57 +0200)
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 46fb90734f371b5467d81cae25c06f8a487a3041)

Conflicts:
    src/mds/MDCache.cc
- g_conf-> instead of g_conf()->

src/mds/Migrator.cc

index 093f38c3581c05c73636e31b8693b1396bb5ad2e..76a5aa20c2c80c3d61f19a0dd5050bcb5aa0592d 100644 (file)
@@ -788,6 +788,11 @@ void Migrator::export_dir(CDir *dir, mds_rank_t dest)
   assert(dir->is_auth());
   assert(dest != mds->get_nodeid());
    
+  if (!mds->is_stopping() && !dir->inode->is_exportable(dest)) {
+    dout(25) << "dir is export pinned" << dendl;
+    return;
+  }
+
   if (!(mds->is_active() || mds->is_stopping())) {
     dout(7) << "i'm not active, no exports for now" << dendl;
     return;
@@ -816,11 +821,6 @@ void Migrator::export_dir(CDir *dir, mds_rank_t dest)
       dout(7) << "i won't export anything in stray" << dendl;
       return;
     }
-  } else {
-    if (!mds->is_stopping() && !dir->inode->is_exportable(dest)) {
-      dout(7) << "dir is export pinned" << dendl;
-      return;
-    }
   }
 
   if (dir->is_frozen() ||