]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: properly remove inode after purging stray 4200/head
authorYan, Zheng <zyan@redhat.com>
Fri, 27 Mar 2015 07:09:21 +0000 (15:09 +0800)
committerYan, Zheng <zyan@redhat.com>
Fri, 27 Mar 2015 07:10:53 +0000 (15:10 +0800)
Signed-off-by: Yan, Zheng <zyan@redhat.com>
src/mds/StrayManager.cc

index be702aca6f4eed6858e04515d82303bc7064296e..e0e3a7ab89f80d9380e8d489af396a08b58a465d 100644 (file)
@@ -297,13 +297,13 @@ void StrayManager::_purge_stray_logged(CDentry *dn, version_t pdv, LogSegment *l
   // drop inode
   if (in->is_dirty())
     in->mark_clean();
+  in->mdcache->remove_inode(in);
 
   // drop dentry?
   if (dn->is_new()) {
     dout(20) << " dn is new, removing" << dendl;
     dn->mark_clean();
     dn->dir->remove_dentry(dn);
-    in->mdcache->remove_inode(in);
   } else {
     in->mdcache->touch_dentry_bottom(dn);  // drop dn as quickly as possible.
   }