From d7f9aecd3ad63e2737eb167fbe7e46b9838cc560 Mon Sep 17 00:00:00 2001 From: Ronen Friedman Date: Wed, 26 Feb 2025 09:10:54 -0600 Subject: [PATCH] osd/scrub: log scrub-queue advance_time() failures such failures occur when the "Ceph clock" goes backwards, Signed-off-by: Ronen Friedman --- src/osd/scrubber/osd_scrub_sched.cc | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/osd/scrubber/osd_scrub_sched.cc b/src/osd/scrubber/osd_scrub_sched.cc index 7348bbf46990e..a45c817b38bd8 100644 --- a/src/osd/scrubber/osd_scrub_sched.cc +++ b/src/osd/scrubber/osd_scrub_sched.cc @@ -92,7 +92,15 @@ std::optional ScrubQueue::pop_ready_entry( }; std::unique_lock lck{jobs_lock}; - to_scrub.advance_time(time_now); + if (!to_scrub.advance_time(time_now)) { + // the clock was not advanced + dout(5) << fmt::format( + ": time now ({}) is earlier than the previous not-before " + "cut-off time", + time_now) + << dendl; + // we still try to dequeue, mainly to handle possible corner cases + } return to_scrub.dequeue_by_pred(eligible_filtr); } -- 2.39.5