From 46bfe362ed3fff41cee878e685e0d95cd1e41fcf Mon Sep 17 00:00:00 2001 From: xie xingguo Date: Sat, 21 Oct 2017 10:21:56 +0800 Subject: [PATCH] osd/osd_type: kill log.approx_size() We used approx_size() because std::list::size() used to be O(n) instead of O(1), but it is constant now in C++11. Also counting the precise number of current log entries here is much more meaningful. Signed-off-by: xie xingguo --- src/osd/PrimaryLogPG.cc | 2 +- src/osd/osd_types.h | 4 ---- 2 files changed, 1 insertion(+), 5 deletions(-) diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index 731f135fbb787..544af1d24e34a 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -711,7 +711,7 @@ void PrimaryLogPG::maybe_force_recovery() PG_STATE_BACKFILL_TOOFULL)) return; - if (pg_log.get_log().approx_size() < + if (pg_log.get_log().log.size() < cct->_conf->osd_max_pg_log_entries * cct->_conf->osd_force_recovery_pg_log_entries_factor) return; diff --git a/src/osd/osd_types.h b/src/osd/osd_types.h index 392adfaf8b22a..38b4d24dd4a96 100644 --- a/src/osd/osd_types.h +++ b/src/osd/osd_types.h @@ -3593,10 +3593,6 @@ public: return head.version == 0 && head.epoch == 0; } - size_t approx_size() const { - return head.version - tail.version; - } - static void filter_log(spg_t import_pgid, const OSDMap &curmap, const string &hit_set_namespace, const pg_log_t &in, pg_log_t &out, pg_log_t &reject); -- 2.39.5