]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/PeeringState: always use target pg log length
authorSage Weil <sage@redhat.com>
Thu, 16 Jan 2020 22:10:33 +0000 (16:10 -0600)
committerKefu Chai <kchai@redhat.com>
Wed, 22 Jan 2020 01:13:00 +0000 (09:13 +0800)
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 <sage@redhat.com>
src/osd/PeeringState.cc

index 41c38359b850e09f7bd020cef83fcf97ae8ed9ef..8f0371e531e82bb1f9602fc264b076d259d6b1e6 100644 (file)
@@ -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(),