From: Sage Weil Date: Thu, 18 Jul 2013 22:02:02 +0000 (-0700) Subject: osd: break con <-> session cycle when marking down old peers X-Git-Tag: v0.67-rc1~16^2~20 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=561ac0b173161a429b0bfecb78676fb38af14e5c;p=ceph.git osd: break con <-> session cycle when marking down old peers Signed-off-by: Sage Weil Reviewed-by: Samuel Just --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index d75375f6537e..2dc59b32f4f5 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -5575,7 +5575,9 @@ bool OSD::require_same_or_newer_map(OpRequestRef op, epoch_t epoch) << " msg was " << m->get_source_inst().addr << " expected " << (osdmap->have_inst(from) ? osdmap->get_cluster_addr(from) : entity_addr_t()) << dendl; - cluster_messenger->mark_down(m->get_connection()); + ConnectionRef con = m->get_connection(); + con->set_priv(NULL); // break ref <-> session cycle, if any + cluster_messenger->mark_down(con.get()); return false; } }