From: Ma Jianpeng Date: Thu, 11 Sep 2014 00:32:06 +0000 (+0800) Subject: ReplicatedPG: Make perfcounter record the read-size for X-Git-Tag: v0.86~95^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F2449%2Fhead;p=ceph.git ReplicatedPG: Make perfcounter record the read-size for async-read. Signed-off-by: Ma Jianpeng --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index a0b6ef73a86f..eaaebd9ca54d 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;