From: Samuel Just Date: Tue, 21 Jul 2015 18:31:12 +0000 (-0700) Subject: OSD: break connection->session->waiting message->connection cycle X-Git-Tag: v9.1.0~424^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=7f15e22be291df139c85909b96b2366f6dbadf37;p=ceph.git OSD: break connection->session->waiting message->connection cycle Fixes: #12338 Signed-off-by: Samuel Just --- 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);