From: Yan, Zheng Date: Wed, 4 Sep 2013 01:58:23 +0000 (+0800) Subject: mds: fix MDCache::truncate_inode_finish() journal X-Git-Tag: v0.71~90^2~8 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=862e0f12a6458e7e1dbb24ea50548a8968635485;p=ceph.git mds: fix MDCache::truncate_inode_finish() journal we should add projected parent directory's context to the journal Signed-off-by: Yan, Zheng --- diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc index 86b380f2827..786b0ac0742 100644 --- a/src/mds/MDCache.cc +++ b/src/mds/MDCache.cc @@ -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);