dout(3) << "ms_handle_reset closing connection for session " << session->info.inst << dendl;
con->mark_down();
con->set_priv(NULL);
- sessionmap.remove_session(session);
}
session->put();
} else {
dout(3) << "ms_handle_remote_reset closing connection for session " << session->info.inst << dendl;
con->mark_down();
con->set_priv(NULL);
- sessionmap.remove_session(session);
}
session->put();
}
dout(10) << " new session " << s << " for " << s->info.inst << " con " << con << dendl;
con->set_priv(s);
s->connection = con;
- sessionmap.add_session(s);
} else {
dout(10) << " existing session " << s << " for " << s->info.inst << " existing con " << s->connection
<< ", new/authorizing con " << con << dendl;
dout(20) << " " << i->first << ": " << i->second << dendl;
}
+ if (session->is_closed())
+ mds->sessionmap.add_session(session);
+
sseq = mds->sessionmap.set_state(session, Session::STATE_OPENING);
mds->sessionmap.touch_session(session);
pv = ++mds->sessionmap.projected;
mds->send_message_client(new MClientSession(CEPH_SESSION_CLOSE), session);
mds->sessionmap.set_state(session, Session::STATE_CLOSED);
session->clear();
+ mds->sessionmap.remove_session(session);
} else if (session->is_killing()) {
// destroy session, close connection
if (session->connection != NULL) {