From: Samuel Just Date: Tue, 29 Jul 2014 22:54:37 +0000 (-0700) Subject: OSD: clear_session_waiting_on_map in ms_handle_reset X-Git-Tag: v0.85~72^2~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=6aba942170e6920a4da4b294eddb56c517454288;p=ceph.git OSD: clear_session_waiting_on_map in ms_handle_reset Signed-off-by: Samuel Just --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index e1e7a54f9972..75f975a53991 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -4358,6 +4358,7 @@ bool OSD::ms_handle_reset(Connection *con) return false; session->wstate.reset(); session->con.reset(NULL); // break con <-> session ref cycle + session_handle_reset(session); session->put(); return true; } diff --git a/src/osd/OSD.h b/src/osd/OSD.h index 7ce854b0fd07..077702e0a1ec 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1198,6 +1198,10 @@ public: (*i)->put(); } } + void session_handle_reset(Session *session) { + Mutex::Locker l(session->session_dispatch_lock); + clear_session_waiting_on_map(session); + } private: /**