monc->wait_auth_rotating(30.0);
mds_lock.Lock();
+ if (want_state == CEPH_MDS_STATE_DNE) {
+ mds_lock.Unlock();
+ return 0;
+ }
timer.init();
void MDS::suicide()
{
assert(mds_lock.is_locked());
- state = CEPH_MDS_STATE_DNE; // whatever.
+ want_state = CEPH_MDS_STATE_DNE; // whatever.
dout(1) << "suicide. wanted " << ceph_mds_state_name(want_state)
<< ", now " << ceph_mds_state_name(state) << dendl;
{
bool ret;
mds_lock.Lock();
- if (state == CEPH_MDS_STATE_DNE) {
+ if (want_state == CEPH_MDS_STATE_DNE) {
dout(10) << " stopping, discarding " << *m << dendl;
m->put();
ret = true;
{
Mutex::Locker l(mds_lock);
dout(0) << "ms_handle_connect on " << con->get_peer_addr() << dendl;
- if (state == CEPH_MDS_STATE_DNE)
+ if (want_state == CEPH_MDS_STATE_DNE)
return;
objecter->ms_handle_connect(con);
}
{
Mutex::Locker l(mds_lock);
dout(0) << "ms_handle_reset on " << con->get_peer_addr() << dendl;
- if (state == CEPH_MDS_STATE_DNE)
+ if (want_state == CEPH_MDS_STATE_DNE)
return false;
if (con->get_peer_type() == CEPH_ENTITY_TYPE_OSD) {
{
Mutex::Locker l(mds_lock);
dout(0) << "ms_handle_remote_reset on " << con->get_peer_addr() << dendl;
- if (state == CEPH_MDS_STATE_DNE)
+ if (want_state == CEPH_MDS_STATE_DNE)
return;
objecter->ms_handle_remote_reset(con);
}
bool& is_valid)
{
Mutex::Locker l(mds_lock);
- if (state == CEPH_MDS_STATE_DNE)
+ if (want_state == CEPH_MDS_STATE_DNE)
return false;
AuthAuthorizeHandler *authorize_handler =