]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG.cc: C_OSD_CommittedPushedObject move pg->put() to finish
authorSamuel Just <sam.just@inktank.com>
Tue, 3 Jul 2012 17:50:15 +0000 (10:50 -0700)
committerSamuel Just <sam.just@inktank.com>
Fri, 6 Jul 2012 00:18:55 +0000 (17:18 -0700)
This should clarify the ownership of the pg ref.

Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc
src/osd/ReplicatedPG.h

index 3ba29d6baefc1a2091fa9c3de9b606667a7ca342..91249b5a939a833623049ea31520fe8040830b9e 100644 (file)
@@ -5330,7 +5330,6 @@ void ReplicatedPG::_committed_pushed_object(OpRequestRef op, epoch_t same_since,
     log_subop_stats(op, l_osd_sop_push_inb, l_osd_sop_push_lat);
 
   unlock();
-  put();
 }
 
 void ReplicatedPG::_applied_recovered_object(ObjectStore::Transaction *t, ObjectContext *obc)
index e3dfe8df8d944ac1cecde61d466fc0e54c734ec9..a3876a851dd1f25451ed90b32e93da1569ebfc5c 100644 (file)
@@ -755,6 +755,7 @@ protected:
     }
     void finish(int r) {
       pg->_committed_pushed_object(op, same_since, last_complete);
+      pg->put();
     }
   };