From: David Zafman Date: Thu, 23 Jul 2015 23:36:19 +0000 (-0700) Subject: osd: Keep a reference count on Connection while calling send_message() X-Git-Tag: v0.94.4~43^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F5758%2Fhead;p=ceph.git osd: Keep a reference count on Connection while calling send_message() Fixes: #12437 Signed-off-by: David Zafman (cherry picked from commit a140085f467889f2743294a3c150f13b62fcdf51) --- diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 7dbcfc5ae603..bc3b4be40d97 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -684,8 +684,8 @@ void OSDService::send_message_osd_cluster(int peer, Message *m, epoch_t from_epo return; } const entity_inst_t& peer_inst = next_map->get_cluster_inst(peer); - Connection *peer_con = osd->cluster_messenger->get_connection(peer_inst).get(); - share_map_peer(peer, peer_con, next_map); + ConnectionRef peer_con = osd->cluster_messenger->get_connection(peer_inst); + share_map_peer(peer, peer_con.get(), next_map); peer_con->send_message(m); release_map(next_map); }