]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
osd/scrub: register for 'osd_max_scrubs' config changes 61184/head
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:07:51 +0000 (07:07 -0600)
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>
src/osd/OSD.cc

index 97fefc5e54aa38b7b453f8405267324174d6072a..5223eb283e93756d892ac0d9b81748e194f09eee 100644 (file)
@@ -9958,7 +9958,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;
 }
@@ -10002,6 +10003,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") ||