if (!m->hb_front_addr.is_blank_ip())
pending_inc.new_hb_front_up[from] = m->hb_front_addr;
- // mark in?
- if ((g_conf->mon_osd_auto_mark_auto_out_in && (oldstate & CEPH_OSD_AUTOOUT)) ||
- (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;
- else
- pending_inc.new_weight[from] = CEPH_OSD_IN;
- } else {
- dout(7) << "prepare_boot NOIN set, will not mark in " << m->get_orig_source_addr() << dendl;
- }
- }
-
down_pending_out.erase(from); // if any
if (m->sb.weight)
else
xi.features = m->get_connection()->get_features();
+ // mark in?
+ if ((g_conf->mon_osd_auto_mark_auto_out_in &&
+ (oldstate & CEPH_OSD_AUTOOUT)) ||
+ (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;
+ xi.old_weight = 0;
+ } else {
+ pending_inc.new_weight[from] = CEPH_OSD_IN;
+ }
+ } else {
+ dout(7) << "prepare_boot NOIN set, will not mark in "
+ << m->get_orig_source_addr() << dendl;
+ }
+ }
+
pending_inc.new_xinfo[from] = xi;
// wait