diff options
author | Sage Weil <sage@inktank.com> | 2013-01-21 21:02:01 -0800 |
---|---|---|
committer | Sage Weil <sage@inktank.com> | 2013-01-22 14:47:43 -0800 |
commit | 73a969366c8bbd105579611320c43e2334907fef (patch) | |
tree | 2f2a6f014b9a109342f72dbaadc86a0114c211f1 | |
parent | 23c02bce90c9725ccaf4295de3177e8146157723 (diff) | |
download | ceph-73a969366c8bbd105579611320c43e2334907fef.tar.gz |
osd: improve sub_op flag points
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r-- | src/osd/ReplicatedPG.cc | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 396a148ae9c..552fb89bed2 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -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(); } |