From def275e100aa874b43944fe656787e3623f70e60 Mon Sep 17 00:00:00 2001 From: Ronen Friedman Date: Mon, 9 Sep 2024 01:20:03 -0500 Subject: [PATCH] osd/scrub: fix scheduled_at for distinct urgencies Now that both 'after repair' scrubs and 'repair after errors' scrubs each have their own urgency, we no longer need to set the scheduled_at to a magic, before everything else, value. Signed-off-by: Ronen Friedman --- src/osd/scrubber/pg_scrubber.cc | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/src/osd/scrubber/pg_scrubber.cc b/src/osd/scrubber/pg_scrubber.cc index 827446743db..05dd78baff3 100644 --- a/src/osd/scrubber/pg_scrubber.cc +++ b/src/osd/scrubber/pg_scrubber.cc @@ -670,8 +670,9 @@ void PgScrubber::recovery_completed() m_osds->get_scrub_services().dequeue_target(m_pg_id, scrub_level_t::deep); auto& trgt = m_scrub_job->get_target(scrub_level_t::deep); trgt.up_urgency_to(urgency_t::after_repair); - trgt.sched_info.schedule.scheduled_at = {0, 0}; - trgt.sched_info.schedule.not_before = ceph_clock_now(); + const auto clock_now = ceph_clock_now(); + trgt.sched_info.schedule.scheduled_at = clock_now; + trgt.sched_info.schedule.not_before = clock_now; m_osds->get_scrub_services().enqueue_target(trgt); } } @@ -695,8 +696,9 @@ void PgScrubber::request_rescrubbing(requested_scrub_t& request_flags) request_flags.need_auto = true; auto& trgt = m_scrub_job->get_target(scrub_level_t::deep); trgt.up_urgency_to(urgency_t::repairing); - trgt.sched_info.schedule.scheduled_at = {0, 0}; - trgt.sched_info.schedule.not_before = ceph_clock_now(); + const auto clock_now = ceph_clock_now(); + trgt.sched_info.schedule.scheduled_at = clock_now; + trgt.sched_info.schedule.not_before = clock_now; } -- 2.39.5