summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2013-09-19 13:43:39 +0800
committerYan, Zheng <zheng.z.yan@intel.com>2013-10-05 11:31:11 +0800
commita242201d58f5facb4eefcde38e3fd5e9d6f61de7 (patch)
tree5c338075cfe5f5ad364d9e52586182bf967ce43a
parent2eb863de2594fdae02fa5ab3056038cc12348f0c (diff)
downloadceph-a242201d58f5facb4eefcde38e3fd5e9d6f61de7.tar.gz
mds: don't fragmentate stray directories
the code that prepares and purges stray dentry assumes that we never freeze stray directories. So disable fragmentating stray directories temporarily. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
-rw-r--r--src/mds/MDCache.cc4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc
index bde5735ea89..5652a08d757 100644
--- a/src/mds/MDCache.cc
+++ b/src/mds/MDCache.cc
@@ -10873,8 +10873,8 @@ bool MDCache::can_fragment(CInode *diri, list<CDir*>& dirs)
dout(7) << "can_fragment: i won't merge|split anything in stray" << dendl;
return false;
}
- if (diri->is_mdsdir() || diri->ino() == MDS_INO_CEPH) {
- dout(7) << "can_fragment: i won't fragment the mdsdir or .ceph" << dendl;
+ if (diri->is_mdsdir() || diri->is_stray() || diri->ino() == MDS_INO_CEPH) {
+ dout(7) << "can_fragment: i won't fragment the mdsdir or straydir or .ceph" << dendl;
return false;
}