pair<epoch_t,epoch_t>(begin, end);
}
- osd_xinfo_t xi = osdmap.get_xinfo(from);
+ if (pending_inc.new_xinfo.count(from) == 0)
+ pending_inc.new_xinfo[from] = osdmap.osd_xinfo[from];
+ osd_xinfo_t& xi = pending_inc.new_xinfo[from];
if (m->boot_epoch == 0) {
xi.laggy_probability *= (1.0 - g_conf()->mon_osd_laggy_weight);
xi.laggy_interval *= (1.0 - g_conf()->mon_osd_laggy_weight);
(g_conf()->mon_osd_auto_mark_new_in && (oldstate & CEPH_OSD_NEW)) ||
(g_conf()->mon_osd_auto_mark_in)) {
if (can_mark_in(from)) {
- if (osdmap.osd_xinfo[from].old_weight > 0) {
- pending_inc.new_weight[from] = osdmap.osd_xinfo[from].old_weight;
+ if (xi.old_weight > 0) {
+ pending_inc.new_weight[from] = xi.old_weight;
xi.old_weight = 0;
} else {
pending_inc.new_weight[from] = CEPH_OSD_IN;
}
}
- pending_inc.new_xinfo[from] = xi;
-
// wait
wait_for_finished_proposal(op, new C_Booted(this, op));
}