From 2e4e98bd084d9465b1b65ce26c2c67a68934c6e9 Mon Sep 17 00:00:00 2001 From: Ma Jianpeng Date: Thu, 11 Sep 2014 08:32:06 +0800 Subject: [PATCH] ReplicatedPG: Make perfcounter record the read-size for async-read. Signed-off-by: Ma Jianpeng --- src/osd/ReplicatedPG.cc | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a0b6ef73a86f5..eaaebd9ca54d2 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -4742,8 +4742,6 @@ int ReplicatedPG::do_osd_ops(OpContext *ctx, vector& ops) result = -EOPNOTSUPP; } - ctx->bytes_read += osd_op.outdata.length(); - fail: osd_op.rval = result; tracepoint(osd, do_osd_op_post, soid.oid.name.c_str(), soid.snap.val, op.op, ceph_osd_op_name(op.op), op.flags, result); @@ -5536,6 +5534,10 @@ void ReplicatedPG::complete_read_ctx(int result, OpContext *ctx) { MOSDOp *m = static_cast(ctx->op->get_req()); assert(ctx->async_reads_complete()); + + for (vector::iterator p = ctx->ops.begin(); p != ctx->ops.end(); ++p) { + ctx->bytes_read += p->outdata.length(); + } ctx->reply->claim_op_out_data(ctx->ops); ctx->reply->get_header().data_off = ctx->data_off; -- 2.39.5