From 4ebdbc7706c411ee057f6119bd889d89df8b83b5 Mon Sep 17 00:00:00 2001
From: Moe Jette <jette1@llnl.gov>
Date: Fri, 25 Jul 2003 00:35:01 +0000
Subject: [PATCH] Fix bug where DRAIN state node could have its up_node_bitmap
 set. This could result in a node going from state DRAINED to ALLOCATED to
 COMPLETING to IDLE (losing the DRAIN state).

---
 src/slurmctld/node_mgr.c | 8 ++++++--
 1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/src/slurmctld/node_mgr.c b/src/slurmctld/node_mgr.c
index 2190d42e809..7d5dedf46c6 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;
 }
 
-- 
GitLab