From 060b264d5d7b85c0008b87392c800e7b159780c5 Mon Sep 17 00:00:00 2001 From: Ronen Friedman Date: Sun, 6 Apr 2025 07:31:48 -0500 Subject: [PATCH] osd/scrub: additional configuration params to trigger scrub reschedule Adding the following parameters to the (small) set of configuration options that, if changed, trigger re-computation of the next scrub schedule: - osd_scrub_interval_randomize_ratio, (not cherry-picked) - osd_deep_scrub_interval_cv, and - osd_deep_scrub_interval (which was missing in the list of parameters watched by the OSD). Fixes: https://tracker.ceph.com/issues/70909 Original tracker: https://tracker.ceph.com/issues/70806 (cherry picked from commit d56f613d5a69797e727938f04b66aed747cfb6b1) Conflicts resolved by removing refs to the deep_scrub_interval_cv parameter, which does not yet exist in this version. Signed-off-by: Ronen Friedman --- src/osd/OSD.cc | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/src/osd/OSD.cc b/src/osd/OSD.cc index 852b87e88556b..aa28ec2845af3 100644 --- a/src/osd/OSD.cc +++ b/src/osd/OSD.cc @@ -9883,6 +9883,8 @@ const char** OSD::get_tracked_conf_keys() const "osd_object_clean_region_max_num_intervals", "osd_scrub_min_interval", "osd_scrub_max_interval", + "osd_deep_scrub_interval", + "osd_scrub_interval_randomize_ratio", "osd_op_thread_timeout", "osd_op_thread_suicide_timeout", "osd_max_scrubs", @@ -10008,13 +10010,15 @@ void OSD::handle_conf_change(const ConfigProxy& conf, if (changed.count("osd_scrub_min_interval") || changed.count("osd_scrub_max_interval") || - changed.count("osd_deep_scrub_interval")) { + changed.count("osd_deep_scrub_interval") || + changed.count("osd_scrub_interval_randomize_ratio")) { service.get_scrub_services().on_config_change(); dout(0) << fmt::format( - "{}: scrub interval change (min:{} deep:{} max:{})", + "{}: scrub interval change (min:{} deep:{} max:{} ratio:{})", __func__, cct->_conf->osd_scrub_min_interval, cct->_conf->osd_deep_scrub_interval, - cct->_conf->osd_scrub_max_interval) + cct->_conf->osd_scrub_max_interval, + cct->_conf->osd_scrub_interval_randomize_ratio) << dendl; } -- 2.39.5