From 7f15e22be291df139c85909b96b2366f6dbadf37 Mon Sep 17 00:00:00 2001 From: Samuel Just Date: Tue, 21 Jul 2015 11:31:12 -0700 Subject: [PATCH] OSD: break connection->session->waiting message->connection cycle Fixes: #12338 Signed-off-by: Samuel Just --- src/osd/OSD.h | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/src/osd/OSD.h b/src/osd/OSD.h index e568505afc045..9e06da25363be 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1379,6 +1379,13 @@ public: ++i) { clear_session_waiting_on_pg(session, *i); } + /* Messages have connection refs, we need to clear the + * connection->session->message->connection + * cycles which result. + * Bug #12338 + */ + session->waiting_on_map.clear(); + session->waiting_for_pg.clear(); } void register_session_waiting_on_pg(Session *session, spg_t pgid) { Mutex::Locker l(session_waiting_lock); -- 2.47.3