]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: don't leak Session refs in do_osd_op_effects()
authorSage Weil <sage@inktank.com>
Sun, 9 Jun 2013 04:50:53 +0000 (21:50 -0700)
committerSage Weil <sage@inktank.com>
Thu, 13 Jun 2013 17:52:17 +0000 (10:52 -0700)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/ReplicatedPG.cc

index eeb2c215d295ebc8f9b84aa310f465ec4055c553..60e0c889932e8f96cb58300874f15c538f6c474a 100644 (file)
@@ -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;