]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
mds: use projected parent to avoid unsafe access
authorPatrick Donnelly <pdonnell@redhat.com>
Fri, 21 Apr 2017 14:31:10 +0000 (10:31 -0400)
committerPatrick Donnelly <pdonnell@redhat.com>
Mon, 24 Apr 2017 14:05:37 +0000 (10:05 -0400)
Add-on to: 26a08f31f7965afb062b027a4455620b52e7a67e

Credit to Zheng for noticing.

Signed-off-by: Patrick Donnelly <pdonnell@redhat.com>
src/mds/Migrator.cc

index 9e43b8624e7cafe4982a72c774988e5f5a4a4fdb..31aabc9c57541461f26987d31cb72d2b2e7e59c1 100644 (file)
@@ -793,8 +793,8 @@ void Migrator::export_dir(CDir *dir, mds_rank_t dest)
     return;
   }
 
-  if (!dir->inode->is_base() && dir->get_inode()->get_projected_parent_dir()->get_inode()->is_stray() &&
-      dir->get_parent_dir()->get_parent_dir()->ino() != MDS_INO_MDSDIR(dest)) {
+  if (!dir->inode->is_base() && dir->inode->get_projected_parent_dir()->inode->is_stray() &&
+      dir->inode->get_projected_parent_dir()->get_parent_dir()->inode->is_mdsdir()) {
     dout(7) << "i won't export anything in stray" << dendl;
     return;
   }