From: "Yan, Zheng" <[email protected]>

In the resolve stage, if no MDS claims other MDS's disambiguous subtree
import, the subtree's dir_auth is undefined.

Signed-off-by: Yan, Zheng <[email protected]>
---
 src/mds/MDCache.cc | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/mds/MDCache.cc b/src/mds/MDCache.cc
index e951a39..f258451 100644
--- a/src/mds/MDCache.cc
+++ b/src/mds/MDCache.cc
@@ -3077,7 +3077,8 @@ void MDCache::disambiguate_imports()
       CDir *dir = get_force_dirfrag(q->first);
       if (!dir) continue;
       
-      if (dir->is_ambiguous_auth()) {     // works for me_ambig or if i am a 
surviving bystander
+      if (dir->is_ambiguous_auth() ||  // works for me_ambig or if i am a 
surviving bystander
+         dir->get_dir_auth() == CDIR_AUTH_UNDEF) { // resolving
        dout(10) << "  mds." << who << " did import " << *dir << dendl;
        adjust_bounded_subtree_auth(dir, q->second, who);
        try_subtree_merge(dir);
-- 
1.7.11.7

--
To unsubscribe from this list: send the line "unsubscribe ceph-devel" in
the body of a message to [email protected]
More majordomo info at  http://vger.kernel.org/majordomo-info.html

Reply via email to