]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
mon: always remove booting osds from down_pending_out
authorSage Weil <sage@newdream.net>
Tue, 24 Apr 2012 22:28:36 +0000 (15:28 -0700)
committerSage Weil <sage@newdream.net>
Tue, 24 Apr 2012 22:28:36 +0000 (15:28 -0700)
The down_pending_out tracks OSDs that are down that we may want to
auto-mark out.  If an osd boots, it should be removed from this list
because it is no longer down; it doesn't matter whether it is marked in
or not.

Signed-off-by: Sage Weil <sage@newdream.net>
src/mon/OSDMonitor.cc

index 381c93df8b3d38d12854d0ded76665a04f3602bc..2c33f9223e5406b17c21730a14d8190733eadf0d 100644 (file)
@@ -663,9 +663,10 @@ bool OSDMonitor::prepare_boot(MOSDBoot *m)
        (g_conf->mon_osd_auto_mark_new_in && (oldstate & CEPH_OSD_NEW)) ||
        (g_conf->mon_osd_auto_mark_in)) {
       pending_inc.new_weight[from] = CEPH_OSD_IN;
-      down_pending_out.erase(from);  // if any
     }
 
+    down_pending_out.erase(from);  // if any
+
     if (m->sb.weight)
       osd_weight[from] = m->sb.weight;