]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mds: mark_disposable when closing a Client connection.
authorGreg Farnum <gregory.farnum@dreamhost.com>
Wed, 7 Dec 2011 22:19:23 +0000 (14:19 -0800)
committerGreg Farnum <gregory.farnum@dreamhost.com>
Mon, 12 Dec 2011 21:24:44 +0000 (13:24 -0800)
This is causing issues since the Client's ack of the MClientSession
is somehow not getting back to the MDS. We should make the
Client/SimpleMessenger be better-behaved about shutdown, but for
now this solution matches how we're working elsewhere in our codebase.

Signed-off-by: Greg Farnum <gregory.farnum@dreamhost.com>
src/mds/Server.cc

index a9ef64f32edfbe843db2acc44ae82200562a9085..d44bd7ea377a20f6cd0f06a4cf309c3241186abc 100644 (file)
@@ -289,6 +289,7 @@ void Server::_session_logged(Session *session, uint64_t state_seq, bool open, ve
       // reset session
       mds->send_message_client(new MClientSession(CEPH_SESSION_CLOSE), session);
       mds->sessionmap.set_state(session, Session::STATE_CLOSED);
+      mds->messenger->mark_disposable(session->connection);
       session->clear();
     } else if (session->is_killing()) {
       // destroy session, close connection