From ba328c80ee5e4949f56b9c1414be7f28c5b67a1b Mon Sep 17 00:00:00 2001 From: Neha Ojha Date: Fri, 2 Nov 2018 19:51:03 -0400 Subject: [PATCH] Revert "osd: make calc_trim_to() independent of min_last_complete_ondisk" This reverts commit 3ecbf2a41fef3591ff247a212338b9a2d02a3468. Signed-off-by: Neha Ojha --- src/osd/PrimaryLogPG.cc | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/src/osd/PrimaryLogPG.cc b/src/osd/PrimaryLogPG.cc index f1143979fcf98..a4a4f8ffb1dbe 100644 --- a/src/osd/PrimaryLogPG.cc +++ b/src/osd/PrimaryLogPG.cc @@ -1575,18 +1575,15 @@ void PrimaryLogPG::calc_trim_to() PG_STATE_BACKFILL_TOOFULL)) { target = cct->_conf->osd_max_pg_log_entries; } - // limit pg log trimming up to the head of the log - eversion_t limit = pg_log.get_head(); - dout(10) << __func__ << " limit = " << limit << dendl; + eversion_t limit = MIN( + min_last_complete_ondisk, + pg_log.get_can_rollback_to()); if (limit != eversion_t() && limit != pg_trim_to && pg_log.get_log().approx_size() > target) { - dout(10) << __func__ << " approx pg log length = " - << pg_log.get_log().approx_size() << dendl; - size_t num_to_trim = std::min(pg_log.get_log().approx_size() - target, - cct->_conf->osd_pg_log_trim_max); - dout(10) << __func__ << " num_to_trim = " << num_to_trim << dendl; + size_t num_to_trim = MIN(pg_log.get_log().approx_size() - target, + cct->_conf->osd_pg_log_trim_max); if (num_to_trim < cct->_conf->osd_pg_log_trim_min && cct->_conf->osd_pg_log_trim_max >= cct->_conf->osd_pg_log_trim_min) { return; @@ -1596,15 +1593,16 @@ void PrimaryLogPG::calc_trim_to() for (size_t i = 0; i < num_to_trim; ++i) { new_trim_to = it->version; ++it; - if (new_trim_to >= limit) { + if (new_trim_to > limit) { new_trim_to = limit; - dout(10) << "calc_trim_to trimming to limit: " << limit << dendl; + dout(10) << "calc_trim_to trimming to min_last_complete_ondisk" << dendl; break; } } dout(10) << "calc_trim_to " << pg_trim_to << " -> " << new_trim_to << dendl; pg_trim_to = new_trim_to; assert(pg_trim_to <= pg_log.get_head()); + assert(pg_trim_to <= min_last_complete_ondisk); } } -- 2.39.5