mds: send resolve to resolve_set

Not RESOLVE|REJOIN|CLIENTREPLAY|ACTIVE|STOPPING, according to
the current MDSMap.

Fixes problem where the resolve_set is empty, but we send
resolves out, and got != needed because got is a superset.
This commit is contained in:
Sage Weil 2010-03-16 09:54:36 -07:00
parent 5c70d30b28
commit b818f5bc8a

View File

@ -2009,13 +2009,14 @@ void MDCache::resolve_start()
adjust_subtree_auth(rootdir, CDIR_AUTH_UNKNOWN);
}
set<int> who;
/*set<int> who;
mds->mdsmap->get_mds_set(who, MDSMap::STATE_RESOLVE);
mds->mdsmap->get_mds_set(who, MDSMap::STATE_REJOIN);
mds->mdsmap->get_mds_set(who, MDSMap::STATE_CLIENTREPLAY);
mds->mdsmap->get_mds_set(who, MDSMap::STATE_ACTIVE);
mds->mdsmap->get_mds_set(who, MDSMap::STATE_STOPPING);
for (set<int>::iterator p = who.begin(); p != who.end(); ++p) {
*/
for (set<int>::iterator p = wants_resolve.begin(); p != wants_resolve.end(); ++p) {
if (*p == mds->whoami)
continue;
send_resolve(*p); // now.