]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: don't stop at export bounds when journaling dir context
authorYan, Zheng <zheng.z.yan@intel.com>
Thu, 4 Apr 2013 03:06:09 +0000 (11:06 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Tue, 28 May 2013 05:57:21 +0000 (13:57 +0800)
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>
src/mds/journal.cc

index 11ce5acf479d6d42cf5592bd1387ceec73924d87..559eb63a04c3b12aba7935ea812f33529cb20ac9 100644 (file)
@@ -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