]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
Revert "osd/ReplicatedPG: for sync-read it don't cacl l_osd_op_r_prepare_lat." 10875/head
authorSamuel Just <sjust@redhat.com>
Thu, 25 Aug 2016 16:30:04 +0000 (09:30 -0700)
committerSamuel Just <sjust@redhat.com>
Tue, 30 Aug 2016 16:55:05 +0000 (09:55 -0700)
Accessing the OpContext* after execute_ctx is invalid, on error, it
will have been deleted.

This reverts commit 52be772788d9d96accaa7af9eaf9f29a3792df49.

Fixes: http://tracker.ceph.com/issues/16908
Signed-off-by: Samuel Just <sjust@redhat.com>
src/osd/ReplicatedPG.cc

index 219beadf2db008fefe88d4d949cae53e97d28fc0..b0aa968e3465104a68150641d973b8552d688f9d 100644 (file)
@@ -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);
   }
 }