diff --git a/src/plugins/sched/backfill/backfill.c b/src/plugins/sched/backfill/backfill.c index b64b5abe4b7382a4899af21030efe192131af18a..be27f727769e8d3c206b33f2f1fd4501fac52b6f 100644 --- a/src/plugins/sched/backfill/backfill.c +++ b/src/plugins/sched/backfill/backfill.c @@ -1532,14 +1532,18 @@ next_task: /* Unable to start job using currently currently active * features, need to use features which can be made * available after node reboot */ - bitstr_t *tmp_bitmap = NULL; - FREE_NULL_BITMAP(exc_core_bitmap); + bitstr_t *tmp_core_bitmap = NULL; + bitstr_t *tmp_node_bitmap = NULL; /* Determine impact of any advance reservations */ j = job_test_resv(job_ptr, &start_res, true, - &tmp_bitmap, &exc_core_bitmap, + &tmp_node_bitmap, &tmp_core_bitmap, &resv_overlap, true); - bit_and(avail_bitmap, tmp_bitmap); - FREE_NULL_BITMAP(tmp_bitmap); + if (j == SLURM_SUCCESS) { + FREE_NULL_BITMAP(exc_core_bitmap); + exc_core_bitmap = tmp_core_bitmap; + bit_and(avail_bitmap, tmp_node_bitmap); + FREE_NULL_BITMAP(tmp_node_bitmap); + } boot_time = node_features_g_boot_time(); j = _try_sched(job_ptr, &avail_bitmap, min_nodes, max_nodes, req_nodes, exc_core_bitmap);