]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd: improve sub_op flag points
authorSage Weil <sage@inktank.com>
Tue, 22 Jan 2013 05:02:01 +0000 (21:02 -0800)
committerSage Weil <sage@inktank.com>
Tue, 22 Jan 2013 22:47:43 +0000 (14:47 -0800)
Signed-off-by: Sage Weil <sage@inktank.com>
src/osd/ReplicatedPG.cc

index 396a148ae9c200acbfd7b88e200e9a1082d20b46..552fb89bed208ea91712cf3a3fb9413260ede941 100644 (file)
@@ -1098,6 +1098,7 @@ void ReplicatedPG::do_sub_op(OpRequestRef op)
 
   if (!is_active()) {
     waiting_for_active.push_back(op);
+    op->mark_delayed("waiting for active");
     return;
   }
 
@@ -4692,6 +4693,8 @@ void ReplicatedPG::sub_op_modify(OpRequestRef op)
     }
   }
   
+  op->mark_started();
+
   Context *oncommit = new C_OSD_RepModifyCommit(rm);
   Context *onapply = new C_OSD_RepModifyApply(rm);
   int r = osd->store->queue_transactions(osr.get(), rm->tls, onapply, oncommit, 0, op);
@@ -4747,7 +4750,7 @@ void ReplicatedPG::sub_op_modify_applied(RepModify *rm)
 void ReplicatedPG::sub_op_modify_commit(RepModify *rm)
 {
   lock();
-  rm->op->mark_event("sub_op_commit");
+  rm->op->mark_commit_sent();
   rm->committed = true;
 
   if (rm->epoch_started >= last_peering_reset) {
@@ -5775,8 +5778,10 @@ void ReplicatedPG::_committed_pushed_object(OpRequestRef op, epoch_t same_since,
     dout(10) << "_committed_pushed_object pg has changed, not touching last_complete_ondisk" << dendl;
   }
 
-  if (op)
+  if (op) {
     log_subop_stats(op, l_osd_sop_push_inb, l_osd_sop_push_lat);
+    op->mark_event("committed");
+  }
 
   unlock();
 }