summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSage Weil <sage@inktank.com>2013-01-21 21:02:01 -0800
committerSage Weil <sage@inktank.com>2013-01-22 14:47:43 -0800
commit73a969366c8bbd105579611320c43e2334907fef (patch)
tree2f2a6f014b9a109342f72dbaadc86a0114c211f1
parent23c02bce90c9725ccaf4295de3177e8146157723 (diff)
downloadceph-73a969366c8bbd105579611320c43e2334907fef.tar.gz
osd: improve sub_op flag points
Signed-off-by: Sage Weil <sage@inktank.com>
-rw-r--r--src/osd/ReplicatedPG.cc9
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();
}