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: v0.94.4~34^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=836f7636f76b2778812e4fa055206a887fd27dad;p=ceph.git OSD: break connection->session->waiting message->connection cycle Fixes: #12338 Signed-off-by: Samuel Just (cherry picked from commit 7f15e22be291df139c85909b96b2366f6dbadf37) --- diff --git a/src/osd/OSD.h b/src/osd/OSD.h index f5021ef159bb4..a3b636e35a7cb 100644 --- a/src/osd/OSD.h +++ b/src/osd/OSD.h @@ -1244,6 +1244,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);