]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: clear session before remove_session
authorSage Weil <sage@newdream.net>
Sat, 21 Nov 2009 06:02:38 +0000 (22:02 -0800)
committerSage Weil <sage@newdream.net>
Sat, 21 Nov 2009 06:02:38 +0000 (22:02 -0800)
remove_session may drop the last ref.

src/mds/Server.cc

index 4be676782034ec012566c7384c3cbd3a7fd38eb6..430b71d2dd7e07033783297a2c0bf8ba281a601f 100644 (file)
@@ -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);