From: Sage Weil Date: Thu, 16 Jan 2020 22:10:33 +0000 (-0600) Subject: osd/PeeringState: always use target pg log length X-Git-Tag: v15.1.0~124^2~1 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=bd20c24011f7f15bc4784fb15463dd3415184a7b;p=ceph.git osd/PeeringState: always use target pg log length Previously, the min and max log length was the same, so we didn't adjust our log length based on whether we were degraded. Preserve that behavior by removing the degraded check entirely. This keeps memory usage consistent when recovery happens. Signed-off-by: Sage Weil --- diff --git a/src/osd/PeeringState.cc b/src/osd/PeeringState.cc index 41c38359b850..8f0371e531e8 100644 --- a/src/osd/PeeringState.cc +++ b/src/osd/PeeringState.cc @@ -4043,15 +4043,7 @@ void PeeringState::complete_write(eversion_t v, eversion_t lc) void PeeringState::calc_trim_to() { - size_t target = cct->_conf->osd_min_pg_log_entries; - if (is_degraded() || - state_test(PG_STATE_RECOVERING | - PG_STATE_RECOVERY_WAIT | - PG_STATE_BACKFILLING | - PG_STATE_BACKFILL_WAIT | - PG_STATE_BACKFILL_TOOFULL)) { - target = pl->get_target_pg_log_entries(); - } + size_t target = pl->get_target_pg_log_entries(); eversion_t limit = std::min( min_last_complete_ondisk, @@ -4085,15 +4077,8 @@ void PeeringState::calc_trim_to() void PeeringState::calc_trim_to_aggressive() { - size_t target = cct->_conf->osd_min_pg_log_entries; - if (is_degraded() || - state_test(PG_STATE_RECOVERING | - PG_STATE_RECOVERY_WAIT | - PG_STATE_BACKFILLING | - PG_STATE_BACKFILL_WAIT | - PG_STATE_BACKFILL_TOOFULL)) { - target = pl->get_target_pg_log_entries(); - } + size_t target = pl->get_target_pg_log_entries(); + // limit pg log trimming up to the can_rollback_to value eversion_t limit = std::min( pg_log.get_head(),