From: Mingxin Liu Date: Tue, 21 Mar 2017 10:15:51 +0000 (+0800) Subject: osd: should consider unstable_stats when publish stats to osd X-Git-Tag: v12.0.2~334^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=21facb1630f070244d74e591bf19d4dc07d5983a;p=ceph.git osd: should consider unstable_stats when publish stats to osd Signed-off-by: Mingxin Liu --- diff --git a/src/osd/PG.cc b/src/osd/PG.cc index 3a75d8932e92..458f7b52fdca 100644 --- a/src/osd/PG.cc +++ b/src/osd/PG.cc @@ -2712,9 +2712,11 @@ void PG::publish_stats_to_osd() _update_blocked_by(); bool publish = false; + pg_stat_t pre_publish = info.stats; + pre_publish.stats.add(unstable_stats); utime_t cutoff = now; cutoff -= cct->_conf->osd_pg_stat_report_interval_max; - if (pg_stats_publish_valid && info.stats == pg_stats_publish && + if (pg_stats_publish_valid && pre_publish == pg_stats_publish && info.stats.last_fresh > cutoff) { dout(15) << "publish_stats_to_osd " << pg_stats_publish.reported_epoch << ": no change since " << info.stats.last_fresh << dendl; @@ -2739,8 +2741,7 @@ void PG::publish_stats_to_osd() publish = true; pg_stats_publish_valid = true; - pg_stats_publish = info.stats; - pg_stats_publish.stats.add(unstable_stats); + pg_stats_publish = pre_publish; dout(15) << "publish_stats_to_osd " << pg_stats_publish.reported_epoch << ":" << pg_stats_publish.reported_seq << dendl;