Skip to content

Commit

Permalink
Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prep…
Browse files Browse the repository at this point in the history
…are_lat."

Accessing the OpContext* after execute_ctx is invalid, on error, it
will have been deleted.

This reverts commit 52be772.

Fixes: http://tracker.ceph.com/issues/16908
Signed-off-by: Samuel Just <sjust@redhat.com>
  • Loading branch information
athanatos committed Aug 30, 2016
1 parent 16f4baa commit b4f4c42
Showing 1 changed file with 2 additions and 3 deletions.
5 changes: 2 additions & 3 deletions src/osd/ReplicatedPG.cc
Original file line number Diff line number Diff line change
Expand Up @@ -2139,13 +2139,12 @@ void ReplicatedPG::do_op(OpRequestRef& op)
execute_ctx(ctx);
utime_t prepare_latency = ceph_clock_now(cct);
prepare_latency -= op->get_dequeued_time();
osd->logger->tinc(l_osd_op_prepare_lat, prepare_latency);
if (op->may_read() && op->may_write()) {
osd->logger->tinc(l_osd_op_prepare_lat, prepare_latency);
osd->logger->tinc(l_osd_op_rw_prepare_lat, prepare_latency);
} else if (!ctx->pending_async_reads.empty() && op->may_read()) {
} else if (op->may_read()) {
osd->logger->tinc(l_osd_op_r_prepare_lat, prepare_latency);
} else if (op->may_write() || op->may_cache()) {
osd->logger->tinc(l_osd_op_prepare_lat, prepare_latency);
osd->logger->tinc(l_osd_op_w_prepare_lat, prepare_latency);
}
}
Expand Down

0 comments on commit b4f4c42

Please sign in to comment.