@@ -531,6 +531,13 @@ void MDCache::open_mydir_inode(Context *c)
in->fetch(c);
}
+void MDCache::adjust_mydir_auth()
+{
+ CDir *mydir = myin->get_or_open_dirfrag(this, frag_t());
+ assert(mydir);
+ adjust_subtree_auth(mydir, mds->whoami);
+}
+
void MDCache::open_root()
{
dout(10) << "open_root" << dendl;
@@ -643,6 +643,7 @@ public:
void open_root_inode(Context *c);
void open_root();
void open_mydir_inode(Context *c);
+ void adjust_mydir_auth();
void populate_mydir();
void _create_system_file(CDir *dir, const char *name, CInode *in, Context *fin);
@@ -1232,6 +1232,7 @@ void MDS::starting_done()
// start new segment
mdlog->start_new_segment(0);
+ mdcache->adjust_mydir_auth();
mdcache->open_root();
}