diff options
author | Sage Weil <sage@newdream.net> | 2009-11-20 22:02:38 -0800 |
---|---|---|
committer | Sage Weil <sage@newdream.net> | 2009-11-20 22:02:38 -0800 |
commit | 6d10f068d9d25fb3fdadeace966d52a352c6b50c (patch) | |
tree | 5e7413cd99ccdc42fd79d5b5a4b8f5a3d4035ae2 | |
parent | 1ee8308c74f991e7d20c633b3e3a9f1691884be8 (diff) | |
download | ceph-6d10f068d9d25fb3fdadeace966d52a352c6b50c.tar.gz |
mds: clear session before remove_session
remove_session may drop the last ref.
-rw-r--r-- | src/mds/Server.cc | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/mds/Server.cc b/src/mds/Server.cc index 4be67678203..430b71d2dd7 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -288,9 +288,8 @@ void Server::_session_logged(Session *session, bool open, version_t pv, interval else if (session->is_stale_closing()) mds->messenger->mark_down(session->inst.addr); // kill connection mds->sessionmap.set_state(session, Session::STATE_CLOSED); - mds->sessionmap.remove_session(session); - session->clear(); + mds->sessionmap.remove_session(session); } else { // close must have been canceled (by an import?) ... assert(!open); |