summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-06-11 08:21:50 +0200
committerSage Weil <sage@inktank.com>2013-06-11 08:22:26 +0200
commit3f2017fb1797333232b802cac5f9cdc2338723fe (patch)
treea0ce978ce94d6289043f1c80b6df3b5eeed2649e
parentrgw: handle deep uri resources (diff)
downloadceph-3f2017fb1797333232b802cac5f9cdc2338723fe.tar.xz
ceph-3f2017fb1797333232b802cac5f9cdc2338723fe.zip
osd: fix con -> session ref change after hb reset
set_priv() expects to be given a reference to own; take one. This fixes various crashes after we see a hb connection reset. Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/OSD.cc2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc
index 66b3a58eb51..d66e9841d42 100644
--- a/src/osd/OSD.cc
+++ b/src/osd/OSD.cc
@@ -2642,7 +2642,7 @@ bool OSD::heartbeat_reset(Connection *con)
if (newcon.first) {
p->second.con_back = newcon.first.get();
p->second.con_back->get();
- p->second.con_back->set_priv(s);
+ p->second.con_back->set_priv(s->get());
if (newcon.second) {
p->second.con_front = newcon.second.get();
p->second.con_front->get();