]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: Keep a reference count on Connection while calling send_message() 5758/head
authorDavid Zafman <dzafman@redhat.com>
Thu, 23 Jul 2015 23:36:19 +0000 (16:36 -0700)
committerLoic Dachary <ldachary@redhat.com>
Wed, 2 Sep 2015 07:24:49 +0000 (09:24 +0200)
Fixes: #12437
Signed-off-by: David Zafman <dzafman@redhat.com>
(cherry picked from commit a140085f467889f2743294a3c150f13b62fcdf51)

src/osd/OSD.cc

index 7dbcfc5ae60306bb8b529d821d310795b52a2750..bc3b4be40d97fd9d37d99db626ad958a1ec06485 100644 (file)
@@ -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);
 }