diff --git a/src/plugins/sched/backfill/backfill.c b/src/plugins/sched/backfill/backfill.c index aae193d2ff028da8f675d8bd58cfd80390ad7be3..82e48e1c265ac3c1405e2111683a02e3a9664e52 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)