Also, only send the message if the auth is past the REJOIN state.
The auth will just drop it if it gets this request while in rejoin.
Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
<< " on " << *in << " to mds" << auth << dendl;
assert(!in->is_auth());
- in->replica_caps_wanted = wanted;
- if (mds->mdsmap->get_state(auth) >= MDSMap::STATE_REJOIN)
+ if (mds->mdsmap->get_state(auth) > MDSMap::STATE_REJOIN) {
mds->send_message_mds(new MInodeFileCaps(in->ino(), in->replica_caps_wanted),
auth);
+ in->replica_caps_wanted = wanted;
+ }
} else {
in->replica_caps_wanted_keep_until.sec_ref() = 0;
}