From: Zhiqiang Wang Date: Thu, 29 Jan 2015 07:23:38 +0000 (+0800) Subject: osd: don't log op stats for proxy read in the cache tier X-Git-Tag: v0.93~145^2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=refs%2Fpull%2F3527%2Fhead;p=ceph.git osd: don't log op stats for proxy read in the cache tier Signed-off-by: Zhiqiang Wang --- diff --git a/src/osd/ReplicatedPG.cc b/src/osd/ReplicatedPG.cc index f95d453a972d..8836ed22debc 100644 --- a/src/osd/ReplicatedPG.cc +++ b/src/osd/ReplicatedPG.cc @@ -2034,6 +2034,7 @@ void ReplicatedPG::finish_proxy_read(hobject_t oid, ceph_tid_t tid, int r) ctx->reply = new MOSDOpReply(m, 0, get_osdmap()->get_epoch(), 0, false); ctx->user_at_version = prdop->user_version; ctx->data_off = prdop->data_offset; + ctx->ignore_log_op_stats = true; complete_read_ctx(r, ctx); } @@ -5969,8 +5970,10 @@ void ReplicatedPG::complete_read_ctx(int result, OpContext *ctx) ctx->reply = NULL; if (result >= 0) { - log_op_stats(ctx); - publish_stats_to_osd(); + if (!ctx->ignore_log_op_stats) { + log_op_stats(ctx); + publish_stats_to_osd(); + } // on read, return the current object version if (ctx->obs) { diff --git a/src/osd/ReplicatedPG.h b/src/osd/ReplicatedPG.h index 0b0adf5e53cd..28707331f7d7 100644 --- a/src/osd/ReplicatedPG.h +++ b/src/osd/ReplicatedPG.h @@ -478,6 +478,7 @@ public: bool undirty; // user explicitly un-dirtying this object bool cache_evict; ///< true if this is a cache eviction bool ignore_cache; ///< true if IGNORE_CACHE flag is set + bool ignore_log_op_stats; // don't log op stats // side effects list > watch_connects; ///< new watch + will_ping flag @@ -592,7 +593,7 @@ public: snapset(0), new_obs(obs->oi, obs->exists), modify(false), user_modify(false), undirty(false), cache_evict(false), - ignore_cache(false), + ignore_cache(false), ignore_log_op_stats(false), bytes_written(0), bytes_read(0), user_at_version(0), current_osd_subop_num(0), op_t(NULL), @@ -615,7 +616,7 @@ public: vector& _ops, ReplicatedPG *_pg) : op(_op), reqid(_reqid), ops(_ops), obs(NULL), snapset(0), modify(false), user_modify(false), undirty(false), cache_evict(false), - ignore_cache(false), + ignore_cache(false), ignore_log_op_stats(false), bytes_written(0), bytes_read(0), user_at_version(0), current_osd_subop_num(0), op_t(NULL),