From: Yan, Zheng Date: Thu, 9 Apr 2015 09:42:31 +0000 (+0800) Subject: mds: move snap inode to new dirfrag's dirty_rstat_inodes X-Git-Tag: v9.0.1~94^2~7 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=5c09be262ce4b165d9571fb32cc57c26e42ebde3;p=ceph.git mds: move snap inode to new dirfrag's dirty_rstat_inodes Signed-off-by: Yan, Zheng --- diff --git a/src/mds/CDir.cc b/src/mds/CDir.cc index 384437a6078f..f17740eb79dc 100644 --- a/src/mds/CDir.cc +++ b/src/mds/CDir.cc @@ -822,8 +822,14 @@ void CDir::steal_dentry(CDentry *dn) else fnode.fragstat.nfiles++; } - } else - num_snap_items++; + } else { + num_snap_items++; + if (dn->get_linkage()->is_primary()) { + CInode *in = dn->get_linkage()->get_inode(); + if (in->is_dirty_rstat()) + dirty_rstat_inodes.push_back(&in->dirty_rstat_item); + } + } if (dn->auth_pins || dn->nested_auth_pins) { // use the helpers here to maintain the auth_pin invariants on the dir inode