diff options
author | Sage Weil <sage@inktank.com> | 2013-07-18 15:02:02 -0700 |
---|---|---|
committer | Greg Farnum <greg@inktank.com> | 2013-07-19 13:21:47 -0700 |
commit | 561ac0b173161a429b0bfecb78676fb38af14e5c (patch) | |
tree | f96d616c9899a7c2823f8d0f307b66fa648c255e | |
parent | 41c67e0236c348e285b4fd064f650884441176b7 (diff) | |
download | ceph-561ac0b173161a429b0bfecb78676fb38af14e5c.tar.gz |
osd: break con <-> session cycle when marking down old peers
Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Samuel Just <sam.just@inktank.com>
-rw-r--r-- | src/osd/OSD.cc | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index d75375f6537..2dc59b32f4f 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; } } |