]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: check earlier if directories are already exported 27892/head
authorRishabh Dave <ridave@redhat.com>
Thu, 7 Mar 2019 05:00:09 +0000 (10:30 +0530)
committerVicente Cheng <freeze.bilsted@gmail.com>
Tue, 30 Apr 2019 14:42:31 +0000 (14:42 +0000)
Signed-off-by: Rishabh Dave <ridave@redhat.com>
(cherry picked from commit 46fb90734f371b5467d81cae25c06f8a487a3041)

src/mds/Migrator.cc

index 6ca71da2fc4a505f6d01d1b1154c0666636cffed..28d3066ebce04f363a947c7bdc2b2f9394105993 100644 (file)
@@ -777,6 +777,11 @@ void Migrator::export_dir(CDir *dir, mds_rank_t dest)
   ceph_assert(dir->is_auth());
   ceph_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;
@@ -805,11 +810,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() ||