, conf{config}
, m_resource_bookkeeper{[this](std::string msg) { log_fwd(msg); }, conf}
, m_queue{cct, m_osd_svc}
- , m_log_prefix{fmt::format("osd.{}: osd-scrub:", m_osd_svc.get_nodeid())}
+ , m_log_prefix{fmt::format("osd.{} osd-scrub:", m_osd_svc.get_nodeid())}
, m_load_tracker{cct, conf, m_osd_svc.get_nodeid()}
{}
{
double loadavgs[3];
if (getloadavg(loadavgs, 3) != 3) {
- dout(10) << fmt::format("{}: couldn't read loadavgs", __func__) << dendl;
+ dout(10) << "couldn't read loadavgs" << dendl;
return false;
}
bool time_permits = isbetween_modulo(
conf->osd_scrub_begin_hour, conf->osd_scrub_end_hour, bdt.tm_hour);
dout(20) << fmt::format(
- "{}: should run between {} - {} now {} = {}", __func__,
+ "should run between {} - {} now {} = {}",
conf->osd_scrub_begin_hour, conf->osd_scrub_end_hour,
bdt.tm_hour, (time_permits ? "yes" : "no"))
<< dendl;
*/
std::atomic_int_fast16_t blocked_scrubs_cnt{0};
+ /**
+ * One of the OSD's primary PGs is in the initial phase of a scrub,
+ * trying to secure its replicas' resources. We will refrain from initiating
+ * any other scrub sessions until this one is done.
+ *
+ * \todo keep the ID of the reserving PG; possibly also the time it started.
+ */
std::atomic_bool a_pg_is_reserving{false};
/**