From 3d8e38bfdc91687a77afdf1c12ffce8c675a4b47 Mon Sep 17 00:00:00 2001 From: Sage Weil Date: Mon, 7 Jan 2008 10:30:43 -0800 Subject: [PATCH] mds: fix bug in session close --- src/mds/Server.cc | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/mds/Server.cc b/src/mds/Server.cc index ef3a053a542c9..7dfa968dc9e17 100644 --- a/src/mds/Server.cc +++ b/src/mds/Server.cc @@ -216,6 +216,7 @@ void Server::_session_logged(Session *session, bool open, version_t pv) if (open) { assert(session->is_opening()); mds->sessionmap.set_state(session, Session::STATE_OPEN); + mds->messenger->send_message(new MClientSession(CEPH_SESSION_OPEN), session->inst); } else if (session->is_closing()) { // kill any lingering capabilities while (!session->caps.empty()) { @@ -225,17 +226,13 @@ void Server::_session_logged(Session *session, bool open, version_t pv) in->remove_client_cap(session->inst.name.num()); } + mds->messenger->send_message(new MClientSession(CEPH_SESSION_CLOSE), session->inst); mds->sessionmap.remove_session(session); } else { // close must have been canceled (by an import?) ... assert(!open); } mds->sessionmap.version++; // noop - - if (open) - mds->messenger->send_message(new MClientSession(CEPH_SESSION_OPEN), session->inst); - else - mds->messenger->send_message(new MClientSession(CEPH_SESSION_CLOSE), session->inst); } void Server::prepare_force_open_sessions(map& cm) -- 2.39.5