From d5d43fd3100f8bfe357117ca3c906bf3f2e13aa8 Mon Sep 17 00:00:00 2001
From: Morris Jette <jette@schedmd.com>
Date: Tue, 15 Jan 2013 16:09:48 -0800
Subject: [PATCH] Correction to GRES element selection logic

---
 src/common/gres.c | 15 +++++----------
 1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/src/common/gres.c b/src/common/gres.c
index fa321506b4f..2b2d2eec9c8 100644
--- a/src/common/gres.c
+++ b/src/common/gres.c
@@ -2757,19 +2757,14 @@ extern uint32_t gres_plugin_job_test(List job_gres_list, List node_gres_list,
 static bool _cores_on_gres(bitstr_t *core_bitmap,
 			   gres_node_state_t *node_gres_ptr, int gres_inx)
 {
-	int core_size, i;
-
 	if ((core_bitmap == NULL) || (node_gres_ptr->topo_cnt == 0))
 		return true;
 
-	core_size = bit_size(core_bitmap);
-	for (i = 0; i < node_gres_ptr->topo_cnt; i++) {
-		if (bit_size(node_gres_ptr->topo_cpus_bitmap[i]) != core_size)
-			continue;
-		if (bit_overlap(node_gres_ptr->topo_cpus_bitmap[i],
-				core_bitmap))
-			return true;
-	}
+	if (bit_size(node_gres_ptr->topo_cpus_bitmap[gres_inx]) !=
+	    bit_size(core_bitmap))
+		return false;
+	if (bit_overlap(node_gres_ptr->topo_cpus_bitmap[gres_inx], core_bitmap))
+		return true;
 	return false;
 }
 
-- 
GitLab