From 2d836a010ed16c3d89a9cab6adcf72868e3ab729 Mon Sep 17 00:00:00 2001 From: Aishwarya Mathuria Date: Wed, 23 Mar 2022 22:58:45 +0530 Subject: [PATCH] osd: add scrub duration for scrubs after recovery Scrub duration is being measured for scheduled scrubs and user-requested scrubs. This change will measure scrub duration for scrubs after recovery as well. Fixes: https://tracker.ceph.com/issues/54994 Signed-off-by: Aishwarya Mathuria --- src/osd/scrubber/scrub_machine.cc | 8 ++++++++ src/osd/scrubber/scrub_machine.h | 6 +++--- 2 files changed, 11 insertions(+), 3 deletions(-) diff --git a/src/osd/scrubber/scrub_machine.cc b/src/osd/scrubber/scrub_machine.cc index 2456bdeb2f2..a0e27e250d9 100644 --- a/src/osd/scrubber/scrub_machine.cc +++ b/src/osd/scrubber/scrub_machine.cc @@ -103,6 +103,14 @@ sc::result NotActive::react(const StartScrub&) return transit(); } +sc::result NotActive::react(const AfterRepairScrub&) +{ + dout(10) << "NotActive::react(const AfterRepairScrub&)" << dendl; + DECLARE_LOCALS; + scrbr->set_scrub_begin_time(); + return transit(); +} + // ----------------------- ReservingReplicas --------------------------------- ReservingReplicas::ReservingReplicas(my_context ctx) : my_base(ctx) diff --git a/src/osd/scrubber/scrub_machine.h b/src/osd/scrubber/scrub_machine.h index 15ed39f3e88..95aff5c6b1c 100644 --- a/src/osd/scrubber/scrub_machine.h +++ b/src/osd/scrubber/scrub_machine.h @@ -152,12 +152,12 @@ struct NotActive : sc::state { explicit NotActive(my_context ctx); using reactions = mpl::list, - // a scrubbing that was initiated at recovery completion, - // and requires no resource reservations: - sc::transition, + // a scrubbing that was initiated at recovery completion + sc::custom_reaction, sc::transition, sc::transition>; sc::result react(const StartScrub&); + sc::result react(const AfterRepairScrub&); }; struct ReservingReplicas : sc::state { -- 2.39.5