/// get priority for pg deletion
unsigned get_delete_priority();
+public:
+ /// get message priority for recovery messages
+ int get_recovery_op_priority() const {
+ int64_t pri = 0;
+ pool.info.opts.get(pool_opts_t::RECOVERY_OP_PRIORITY, &pri);
+ return pri > 0 ? pri : cct->_conf->osd_recovery_op_priority;
+ }
+
+private:
bool check_prior_readable_down_osds(const OSDMapRef& map);
bool adjust_need_up_thru(const OSDMapRef osdmap);
get_osdmap_epoch(),
m->query_epoch,
spg_t(info.pgid.pgid, get_primary().shard));
- reply->set_priority(get_recovery_op_priority());
+ reply->set_priority(recovery_state.get_recovery_op_priority());
osd->send_message_osd_cluster(reply, m->get_connection());
queue_peering_event(
PGPeeringEventRef(
++skipped;
} else {
int r = recover_missing(
- soid, need, get_recovery_op_priority(), h);
+ soid, need, recovery_state.get_recovery_op_priority(), h);
switch (r) {
case PULL_YES:
++started;
recovery_state.set_last_requested(v);
}
- pgbackend->run_recovery_op(h, get_recovery_op_priority());
+ pgbackend->run_recovery_op(h, recovery_state.get_recovery_op_priority());
return started;
}
} else {
int r = recover_missing(
head, recovery_state.get_pg_log().get_missing().get_items().find(head)->second.need,
- get_recovery_op_priority(), h);
+ recovery_state.get_recovery_op_priority(), h);
if (r != PULL_NONE)
return 1;
return 0;
}
}
- pgbackend->run_recovery_op(h, get_recovery_op_priority());
+ pgbackend->run_recovery_op(h, recovery_state.get_recovery_op_priority());
return started;
}
get_osdmap_epoch());
}
- pgbackend->run_recovery_op(h, get_recovery_op_priority());
+ pgbackend->run_recovery_op(h, recovery_state.get_recovery_op_priority());
hobject_t backfill_pos =
std::min(backfill_info.begin, earliest_peer_backfill());
/// generate a new temp object name (for recovery)
hobject_t get_temp_recovery_object(const hobject_t& target,
eversion_t version) override;
- int get_recovery_op_priority() const {
- int64_t pri = 0;
- pool.info.opts.get(pool_opts_t::RECOVERY_OP_PRIORITY, &pri);
- return pri > 0 ? pri : cct->_conf->osd_recovery_op_priority;
- }
-
public:
coll_t get_coll() {
return coll;