summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-06-08 21:50:53 -0700
committerSage Weil <sage@inktank.com>2013-06-13 10:52:17 -0700
commitd172c3329c393b2b04b45e3af2306f1664a6109e (patch)
tree0eb620297cb93abfbe5b3faa9045138408d585ac
parentcd1c289b96a874ff99a83a44955d05efc9f2765a (diff)
downloadceph-d172c3329c393b2b04b45e3af2306f1664a6109e.tar.gz
osd/ReplicatedPG: don't leak Session refs in do_osd_op_effects()
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/ReplicatedPG.cc1
1 files changed, 1 insertions, 0 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc
index eeb2c215d29..60e0c889932 100644
--- a/src/osd/ReplicatedPG.cc
+++ b/src/osd/ReplicatedPG.cc
@@ -3498,6 +3498,7 @@ void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
ConnectionRef conn(ctx->op->request->get_connection());
boost::intrusive_ptr<OSD::Session> session(
(OSD::Session *)conn->get_priv());
+ session->put(); // get_priv() takes a ref, and so does the intrusive_ptr
entity_name_t entity = ctx->reqid.name;
dout(15) << "do_osd_op_effects on session " << session.get() << dendl;