]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: fix MDCache::truncate_inode_finish() journal
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 4 Sep 2013 01:58:23 +0000 (09:58 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Thu, 19 Sep 2013 06:01:02 +0000 (14:01 +0800)
we should add projected parent directory's context to the journal

Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/MDCache.cc

index 86b380f28270bb46030a2cd9620b2eff641721d9..786b0ac0742e49ab262821cf23a499e7109905a1 100644 (file)
@@ -5934,8 +5934,9 @@ void MDCache::truncate_inode_finish(CInode *in, LogSegment *ls)
 
   EUpdate *le = new EUpdate(mds->mdlog, "truncate finish");
   mds->mdlog->start_entry(le);
-  le->metablob.add_dir_context(in->get_parent_dir());
-  le->metablob.add_primary_dentry(in->get_projected_parent_dn(), in, true);
+  CDentry *dn = in->get_projected_parent_dn();
+  le->metablob.add_dir_context(dn->get_dir());
+  le->metablob.add_primary_dentry(dn, in, true);
   le->metablob.add_truncate_finish(in->ino(), ls->offset);
 
   journal_dirty_inode(mut, &le->metablob, in);