diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c index 2190d42e8091dc2da636cbf6dced271eaf4b32cf..7d5dedf46c657d8e157c23c223e943aeb7395983 100644 --- a/src/slurmctld/node_mgr.c +++ b/src/slurmctld/node_mgr.c @@ -1173,8 +1173,12 @@ void node_did_resp (char *name) info("Node %s now responding", name); retry_pending (name); /* Do all pending RPCs now */ } - if (node_ptr->node_state != NODE_STATE_DOWN) - bit_set (up_node_bitmap, node_inx); + if ((node_ptr->node_state == NODE_STATE_DOWN) || + (node_ptr->node_state == NODE_STATE_DRAINING) || + (node_ptr->node_state == NODE_STATE_DRAINED)) + bit_clear (up_node_bitmap, node_inx); + else + bit_set (up_node_bitmap, node_inx); return; }