From: Sage Weil Date: Thu, 3 Sep 2015 01:33:25 +0000 (-0400) Subject: osd/ReplicatedPG: create apply_ctx_stats() helper X-Git-Tag: v9.1.0~135^2^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=eb2993a760e8076d7d6adfea125e06504d8d3263;p=ceph.git osd/ReplicatedPG: create apply_ctx_stats() helper finish_ctx does a dance to update the pg stats correctly despite racing scrub or backfill; move this into a helper. Signed-off-by: Sage Weil --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index 2c12e72bb2b..c254ad5881a 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -6244,8 +6244,14 @@ void ReplicatedPG::finish_ctx(OpContext *ctx, int log_op_type, bool maintain_ssc ctx->obc->ssc->snapset = ctx->new_snapset; } + apply_ctx_stats(ctx, scrub_ok); +} + +void ReplicatedPG::apply_ctx_stats(OpContext *ctx, bool scrub_ok) +{ info.stats.stats.add(ctx->delta_stats); + const hobject_t& soid = ctx->obs->oi.soid; for (set::iterator i = backfill_targets.begin(); i != backfill_targets.end(); ++i) { diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 4517e68730e..a2802b2ecde 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -1157,6 +1157,8 @@ protected: void reply_ctx(OpContext *ctx, int err, eversion_t v, version_t uv); void make_writeable(OpContext *ctx); void log_op_stats(OpContext *ctx); + void apply_ctx_stats(OpContext *ctx, + bool scrub_ok=false); ///< true if we should skip scrub stat update void write_update_size_and_usage(object_stat_sum_t& stats, object_info_t& oi, interval_set& modified, uint64_t offset,