From 6c42ef2688fb1f8bcab5b2ec034198fd0b1acc68 Mon Sep 17 00:00:00 2001
From: Morris Jette <jette@schedmd.com>
Date: Wed, 11 Jun 2014 13:13:29 -0700
Subject: [PATCH] backfill - improve resource map build

This change prevents creation of some back-to-back records with
the same resources, but different times.
---
 src/plugins/sched/backfill/backfill.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/plugins/sched/backfill/backfill.c b/src/plugins/sched/backfill/backfill.c
index aae193d2ff0..82e48e1c265 100644
--- a/src/plugins/sched/backfill/backfill.c
+++ b/src/plugins/sched/backfill/backfill.c
@@ -1318,7 +1318,11 @@ static void _add_reservation(uint32_t start_time, uint32_t end_reserve,
 	int i, j;
 
 	for (j = 0; ; ) {
-		if (node_space[j].end_time > start_time) {
+		if ((node_space[j].begin_time >= start_time) ||
+		    (node_space[j].end_time   == start_time)) {
+			/* no need to insert new start entry record */
+			placed = true;
+		} else if (node_space[j].end_time > start_time) {
 			/* insert start entry record */
 			i = *node_space_recs;
 			node_space[i].begin_time = start_time;
@@ -1331,10 +1335,6 @@ static void _add_reservation(uint32_t start_time, uint32_t end_reserve,
 			(*node_space_recs)++;
 			placed = true;
 		}
-		if (node_space[j].end_time == start_time) {
-			/* no need to insert new start entry record */
-			placed = true;
-		}
 		if (placed == true) {
 			while ((j = node_space[j].next)) {
 				if (end_reserve == node_space[j].end_time)
-- 
GitLab