From 4d1a5870795ea69f7a432105c480b76f79f53ae8 Mon Sep 17 00:00:00 2001 From: discord9 <55937128+discord9@users.noreply.github.com> Date: Wed, 10 Dec 2025 15:10:46 +0800 Subject: [PATCH] chore: saturating duration since (#7380) chore: sat duration since Signed-off-by: discord9 --- src/meta-srv/src/gc/candidate.rs | 3 ++- src/meta-srv/src/gc/handler.rs | 2 +- src/meta-srv/src/gc/tracker.rs | 2 +- 3 files changed, 4 insertions(+), 3 deletions(-) diff --git a/src/meta-srv/src/gc/candidate.rs b/src/meta-srv/src/gc/candidate.rs index 7d9ac9558b..05fc79ac52 100644 --- a/src/meta-srv/src/gc/candidate.rs +++ b/src/meta-srv/src/gc/candidate.rs @@ -88,7 +88,8 @@ impl GcScheduler { // Skip regions that are in cooldown period if let Some(gc_info) = tracker.get(®ion_stat.id) - && now.duration_since(gc_info.last_gc_time) < self.config.gc_cooldown_period + && now.saturating_duration_since(gc_info.last_gc_time) + < self.config.gc_cooldown_period { debug!("Skipping region {} due to cooldown", region_stat.id); continue; diff --git a/src/meta-srv/src/gc/handler.rs b/src/meta-srv/src/gc/handler.rs index c5574f1adb..4085f6289c 100644 --- a/src/meta-srv/src/gc/handler.rs +++ b/src/meta-srv/src/gc/handler.rs @@ -434,7 +434,7 @@ impl GcScheduler { if let Some(gc_info) = gc_tracker.get(®ion_id) { if let Some(last_full_listing) = gc_info.last_full_listing_time { // check if pass cooling down interval after last full listing - let elapsed = now.duration_since(last_full_listing); + let elapsed = now.saturating_duration_since(last_full_listing); elapsed >= self.config.full_file_listing_interval } else { // Never did full listing for this region, do it now diff --git a/src/meta-srv/src/gc/tracker.rs b/src/meta-srv/src/gc/tracker.rs index 991147bbf4..c5f93483a6 100644 --- a/src/meta-srv/src/gc/tracker.rs +++ b/src/meta-srv/src/gc/tracker.rs @@ -92,7 +92,7 @@ impl GcScheduler { if let Some(gc_info) = gc_tracker.get(®ion_id) { if let Some(last_full_listing) = gc_info.last_full_listing_time { - let elapsed = now.duration_since(last_full_listing); + let elapsed = now.saturating_duration_since(last_full_listing); elapsed >= self.config.full_file_listing_interval } else { // Never did full listing for this region, do it now