pg->get_osdmap()->pg_to_up_acting_osds(pg->info.pgid.pgid, up, acting);
int role = OSDMap::calc_pg_role(service.whoami, acting);
pg->set_role(role);
- pg->reg_next_scrub();
pg->handle_loaded(rctx);
pg->write_if_dirty(*(rctx->transaction));
pg->queue_null(e, e);
double scrub_min_interval = 0, scrub_max_interval = 0;
pool.info.opts.get(pool_opts_t::SCRUB_MIN_INTERVAL, &scrub_min_interval);
pool.info.opts.get(pool_opts_t::SCRUB_MAX_INTERVAL, &scrub_max_interval);
+ assert(scrubber.scrub_reg_stamp == utime_t());
scrubber.scrub_reg_stamp = osd->reg_pg_scrub(info.pgid,
reg_stamp,
scrub_min_interval,
void PG::unreg_next_scrub()
{
- if (is_primary())
+ if (is_primary()) {
osd->unreg_pg_scrub(info.pgid, scrubber.scrub_reg_stamp);
+ scrubber.scrub_reg_stamp = utime_t();
+ }
}
void PG::sub_op_scrub_map(OpRequestRef op)