]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commit
mds: properly set COMPLETE flag when merging dirfrags
authorYan, Zheng <zheng.z.yan@intel.com>
Wed, 15 Jan 2014 03:12:43 +0000 (11:12 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 17 Feb 2014 01:37:51 +0000 (09:37 +0800)
commit6e013cd675125e1d3e3992b3c286b1dce83e6965
tree7d4b33e74cfc2985e57a5de893d04bd31fed525b
parentee0ab2b733c6414c27e74f95ecc9643c1ba26478
mds: properly set COMPLETE flag when merging dirfrags

don't keep the COMPLETE flag when merging dirfrags during journal
replay, because it's inconvenience to check if the all dirfrags
under the 'basefrag' are in the cache and complete. One special case
is that newly created dirfrag get fragmented, then the fragment
operation get rolled back. The COMPLETE flag should be preserved in
this case because the dirfrag still doesn't exist on object store.

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