]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scrub: additional configuration params to trigger scrub reschedule 62692/head
authorRonen Friedman <rfriedma@redhat.com>
Sun, 6 Apr 2025 12:31:48 +0000 (07:31 -0500)
committerRonen Friedman <rfriedma@redhat.com>
Sat, 12 Apr 2025 08:42:00 +0000 (03:42 -0500)
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,
- 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/70806
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
src/osd/OSD.cc

index 8e3057460e0a450641b117097ff6ce35b85b20fc..2ea6d25f442938defd97819c153ad0fe31df81da 100644 (file)
@@ -10074,6 +10074,9 @@ std::vector<std::string> OSD::get_tracked_keys() const noexcept
     "osd_object_clean_region_max_num_intervals"s,
     "osd_scrub_min_interval"s,
     "osd_scrub_max_interval"s,
+    "osd_deep_scrub_interval"s,
+    "osd_deep_scrub_interval_cv"s,
+    "osd_scrub_interval_randomize_ratio"s,
     "osd_op_thread_timeout"s,
     "osd_op_thread_suicide_timeout"s,
     "osd_max_scrubs"s
@@ -10201,13 +10204,16 @@ 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_deep_scrub_interval_cv") ||
+      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;
   }