}
CDir *curdir = cur->get_dirfrag(fg);
- // am i dir auth (or if no dir, at least the inode auth)
if ((!curdir && !cur->is_auth()) ||
(curdir && !curdir->is_auth())) {
if (curdir) {
- dout(7) << *curdir << " not dirfrag auth, setting dir_auth_hint" << endl;
+ dout(7) << " not dirfrag auth, setting dir_auth_hint for " << *curdir << endl;
reply->set_dir_auth_hint(curdir->authority().first);
} else {
- dout(7) << *cur << " dirfrag not open, not inode auth, setting dir_auth_hint" << endl;
+ dout(7) << " dirfrag not open, not inode auth, setting dir_auth_hint for " << *cur << endl;
reply->set_dir_auth_hint(cur->authority().first);
}
reply->set_wanted_xlocks_hint(dis->wants_xlocked());
} else {
// force frag to leaf in the diri tree
if (!diri->dirfragtree.is_leaf(fg)) {
- dout(7) << "add_replica_dir forcing frag " << fg << " to leaf in the fragtree" << endl;
+ dout(7) << "add_replica_dir forcing frag " << fg << " to leaf in the fragtree "
+ << diri->dirfragtree << endl;
diri->dirfragtree.force_to_leaf(fg);
}
if (in->is_replica(mds->get_nodeid()))
in->remove_replica(mds->get_nodeid());
- // twiddle locks
- /*
- if (in->authlock.do_import(oldauth, mds->get_nodeid()))
- mds->locker->simple_eval(&in->authlock);
- if (in->linklock.do_import(oldauth, mds->get_nodeid()))
- mds->locker->simple_eval(&in->linklock);
- if (in->dirfragtreelock.do_import(oldauth, mds->get_nodeid()))
- mds->locker->simple_eval(&in->dirfragtreelock);
- if (in->dirlock.do_import(oldauth, mds->get_nodeid()))
- mds->locker->scatter_eval(&in->dirlock);
- */
-
// caps
for (set<int>::iterator it = merged_client_caps.begin();
it != merged_client_caps.end();
caps->set_mds( oldauth ); // reap from whom?
mds->send_message_client_maybe_open(caps, imported_client_map[*it]);
}
-
- // filelock
- /*
- if (in->filelock.do_import(oldauth, mds->get_nodeid()))
- mds->locker->simple_eval(&in->filelock);
- */
}
long nden = dstate.get_nden();
for (; nden>0; nden--) {
-
num_imported++;
// dentry