]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/ReplicatedPG: handle sessionless op con in do_osd_op_effects
authorSage Weil <sage@redhat.com>
Tue, 9 Sep 2014 23:10:53 +0000 (16:10 -0700)
committerGreg Farnum <greg@inktank.com>
Fri, 19 Sep 2014 04:13:27 +0000 (21:13 -0700)
Signed-off-by: Sage Weil <sage@redhat.com>
Reviewed-by: Greg Farnum <greg@inktank.com>
src/osd/ReplicatedPG.cc

index 6d073755889ab3f98670ae57bc90ec5f5a6d7469..5518c4134703c2d04dbbd683fe2654a66a13cb2e 100644 (file)
@@ -5182,8 +5182,9 @@ void ReplicatedPG::add_interval_usage(interval_set<uint64_t>& s, object_stat_sum
 void ReplicatedPG::do_osd_op_effects(OpContext *ctx)
 {
   ConnectionRef conn(ctx->op->get_req()->get_connection());
-  boost::intrusive_ptr<OSD::Session> session(
-    (OSD::Session *)conn->get_priv());
+  boost::intrusive_ptr<OSD::Session> session((OSD::Session *)conn->get_priv());
+  if (!session.get())
+    return;
   session->put();  // get_priv() takes a ref, and so does the intrusive_ptr
   entity_name_t entity = ctx->reqid.name;