@@ -273,6 +273,8 @@ OSDService::OSDService(OSD *osd, ceph::async::io_context_pool& poolctx) :
273273 cct->_conf->osd_min_recovery_priority),
274274 snap_reserver(cct, &reserver_finisher,
275275 cct->_conf->osd_max_trimming_pgs),
276+ scrub_reserver(cct, &reserver_finisher,
277+ cct->_conf->osd_max_scrubs),
276278 recovery_ops_active(0 ),
277279 recovery_ops_reserved(0 ),
278280 recovery_paused(false ),
@@ -2891,7 +2893,7 @@ will start to track new ops received afterwards.";
28912893 f->close_section ();
28922894 } else if (prefix == " dump_scrub_reservations" ) {
28932895 f->open_object_section (" scrub_reservations" );
2894- service.get_scrub_services ().resource_bookkeeper (). dump_scrub_reservations (f);
2896+ service.get_scrub_services ().dump_scrub_reservations (f);
28952897 f->close_section ();
28962898 } else if (prefix == " get_latest_osdmap" ) {
28972899 get_latest_osdmap ();
@@ -9889,6 +9891,9 @@ void OSD::handle_conf_change(const ConfigProxy& conf,
98899891 if (changed.count (" osd_max_trimming_pgs" )) {
98909892 service.snap_reserver .set_max (cct->_conf ->osd_max_trimming_pgs );
98919893 }
9894+ if (changed.count (" osd_max_scrubs" )) {
9895+ service.scrub_reserver .set_max (cct->_conf ->osd_max_scrubs );
9896+ }
98929897 if (changed.count (" osd_op_complaint_time" ) ||
98939898 changed.count (" osd_op_log_threshold" )) {
98949899 op_tracker.set_complaint_and_threshold (cct->_conf ->osd_op_complaint_time ,
0 commit comments