]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: preserve dir_auth when spliting/merging dirfrags
authorYan, Zheng <zheng.z.yan@intel.com>
Thu, 16 Jan 2014 11:54:07 +0000 (19:54 +0800)
committerYan, Zheng <zheng.z.yan@intel.com>
Mon, 17 Feb 2014 01:37:51 +0000 (09:37 +0800)
Signed-off-by: Yan, Zheng <zheng.z.yan@intel.com>
src/mds/CDir.cc

index 99bbc841e33602c62ce8c405042511a9827fc6cd..8761876d6ed575d8fcd4eb46c5366d88248cf996 100644 (file)
@@ -896,6 +896,7 @@ void CDir::split(int bits, list<CDir*>& subs, list<Context*>& waiters, bool repl
     subs.push_back(f);
     inode->add_dirfrag(f);
 
+    f->set_dir_auth(get_dir_auth());
     f->prepare_new_fragment(replay);
   }
   
@@ -937,6 +938,7 @@ void CDir::merge(list<CDir*>& subs, list<Context*>& waiters, bool replay)
 {
   dout(10) << "merge " << subs << dendl;
 
+  set_dir_auth(subs.front()->get_dir_auth());
   prepare_new_fragment(replay);
 
   nest_info_t rstatdiff;