summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYan, Zheng <zheng.z.yan@intel.com>2013-04-04 11:06:09 +0800
committerYan, Zheng <zheng.z.yan@intel.com>2013-05-28 13:57:21 +0800
commitd7b999be1b24ffd8b83370fcd9f0bd32829b8b35 (patch)
treefa830aeb2dd80bad39c5750e444d17fc1192e7ab
parent81d073fecb58e2294df12b71351321e6d2e69652 (diff)
downloadceph-d7b999be1b24ffd8b83370fcd9f0bd32829b8b35.tar.gz
mds: don't stop at export bounds when journaling dir context
We only journal the finish of exporting subtree, so we shouldn't consider export bounds as subtree root. Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
-rw-r--r--src/mds/journal.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/mds/journal.cc b/src/mds/journal.cc
index 11ce5acf479..559eb63a04c 100644
--- a/src/mds/journal.cc
+++ b/src/mds/journal.cc
@@ -406,7 +406,7 @@ void EMetaBlob::add_dir_context(CDir *dir, int mode)
if (mode == TO_AUTH_SUBTREE_ROOT) {
// subtree root?
- if (dir->is_subtree_root()) {
+ if (dir->is_subtree_root() && !dir->state_test(CDir::STATE_EXPORTBOUND)) {
if (dir->is_auth() && !dir->is_ambiguous_auth()) {
// it's an auth subtree, we don't need maybe (if any), and we're done.
dout(20) << "EMetaBlob::add_dir_context(" << dir << ") reached unambig auth subtree, don't need " << maybe