]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
ReplicatedPG: release_op_ctx_locks in all-applied, not all-committed
authorSamuel Just <sam.just@inktank.com>
Tue, 4 Feb 2014 01:10:45 +0000 (17:10 -0800)
committerSamuel Just <sam.just@inktank.com>
Mon, 17 Feb 2014 22:24:56 +0000 (14:24 -0800)
Signed-off-by: Samuel Just <sam.just@inktank.com>
src/osd/ReplicatedPG.cc

index 46db4b76cd776b54ad5b3739b97fc1709da635b5..3aa466437c62a8d26506a28e4ffe88bdd36dd9f2 100644 (file)
@@ -6100,8 +6100,6 @@ void ReplicatedPG::eval_repop(RepGather *repop)
     // ondisk?
     if (repop->all_committed) {
 
-      release_op_ctx_locks(repop->ctx);
-
       log_op_stats(repop->ctx);
       publish_stats_to_osd();
 
@@ -6144,6 +6142,8 @@ void ReplicatedPG::eval_repop(RepGather *repop)
     // applied?
     if (repop->all_applied) {
 
+      release_op_ctx_locks(repop->ctx);
+
       // send dup acks, in order
       if (waiting_for_ack.count(repop->v)) {
        assert(waiting_for_ack.begin()->first == repop->v);