]> git.apps.os.sepia.ceph.com Git - ceph-ci.git/commitdiff
osd/scrub: register for 'osd_max_scrubs' config changes
authorRonen Friedman <rfriedma@redhat.com>
Thu, 26 Dec 2024 13:06:10 +0000 (07:06 -0600)
committerRonen Friedman <rfriedma@redhat.com>
Thu, 26 Dec 2024 13:53:51 +0000 (15:53 +0200)
Since https://github.com/ceph/ceph/pull/55340, the
osd_max_scrubs (also) affects the parameters of the
async scrub reserver used by the replicas. Thus,
the code must notice and acknowledge changes to this config.

Fixes: https://tracker.ceph.com/issues/69362
Signed-off-by: Ronen Friedman <rfriedma@redhat.com>
(cherry picked from commit 31e6bacfbf60e3e9222cae354d8527fa92282dbc)

src/osd/OSD.cc

index a4455a96caee96b9884448d0305a9cb7ea477322..e47ae59d761395ff5a4147172fcaf514fa496c00 100644 (file)
@@ -9875,7 +9875,8 @@ const char** OSD::get_tracked_conf_keys() const
     "osd_scrub_max_interval",
     "osd_op_thread_timeout",
     "osd_op_thread_suicide_timeout",
-    NULL
+    "osd_max_scrubs",
+    nullptr
   };
   return KEYS;
 }
@@ -9919,6 +9920,10 @@ void OSD::handle_conf_change(const ConfigProxy& conf,
     service.snap_reserver.set_max(cct->_conf->osd_max_trimming_pgs);
   }
   if (changed.count("osd_max_scrubs")) {
+    dout(0) << fmt::format(
+                   "{}: scrub concurrency max changed to {}",
+                   __func__, cct->_conf->osd_max_scrubs)
+            << dendl;
     service.scrub_reserver.set_max(cct->_conf->osd_max_scrubs);
   }
   if (changed.count("osd_op_complaint_time") ||