]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG::C_OSD_CommittedPushedObject: use intrusive_ptr for pg
authorSamuel Just <sam.just@inktank.com>
Mon, 25 Feb 2013 20:36:29 +0000 (12:36 -0800)
committerSamuel Just <sam.just@inktank.com>
Mon, 25 Feb 2013 21:30:11 +0000 (13:30 -0800)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.h

index 87225ff7d057578ecb859490ddf266e44144d084..701b537c50743937af633c7128c7967521fd92b9 100644 (file)
@@ -790,18 +790,16 @@ protected:
     }
   };
   struct C_OSD_CommittedPushedObject : public Context {
-    ReplicatedPG *pg;
+    boost::intrusive_ptr<ReplicatedPG> pg;
     OpRequestRef op;
     epoch_t epoch;
     eversion_t last_complete;
     C_OSD_CommittedPushedObject(
       ReplicatedPG *p, OpRequestRef o, epoch_t epoch, eversion_t lc) :
       pg(p), op(o), epoch(epoch), last_complete(lc) {
-      pg->get();
     }
     void finish(int r) {
       pg->_committed_pushed_object(op, epoch, last_complete);
-      pg->put();
     }
   };
   struct C_OSD_CompletedPushedObjectReplica : public Context {