diff --git a/NEWS b/NEWS index 1135bab784341f5e2e1ec6d20b001c70471e65b9..1e8aa6eeb5ac546d0c61c08aa5311e96606cffbe 100644 --- a/NEWS +++ b/NEWS @@ -34,6 +34,8 @@ documents those changes that are of interest to users and administrators. -- Fix display for RoutePlugin parameter to display the correct value. -- Fix route/topology plugin to prevent segfault in sbcast when in use. -- Fix Cray slurmconfgen_smw.py script to use nid as nid, not nic. + -- Fix Cray NHC spawning on job requeue. Previous logic would leave nodes + allocated to a requeued job as non-usable on job termination. * Changes in Slurm 15.08.8 ========================== diff --git a/src/plugins/select/cray/select_cray.c b/src/plugins/select/cray/select_cray.c index 2f9643743d3c5a232f8584234e6d50a41389cee9..f45703e7c35417fe29917cb5a791dcb207dae0b0 100644 --- a/src/plugins/select/cray/select_cray.c +++ b/src/plugins/select/cray/select_cray.c @@ -1824,12 +1824,16 @@ extern int select_p_job_begin(struct job_record *job_ptr) xassert(job_ptr->select_jobinfo->data); jobinfo = job_ptr->select_jobinfo->data; + jobinfo->cleaning = CLEANING_INIT; /* Reset needed if requeued */ slurm_mutex_lock(&blade_mutex); - if (!jobinfo->blade_map) + if (!jobinfo->blade_map) { jobinfo->blade_map = bit_alloc(blade_cnt); - + } else { /* Clear vestigial bitmap in case job requeued */ + bit_nclear(jobinfo->blade_map, 0, + bit_size(jobinfo->blade_map) - 1); + } _set_job_running(job_ptr); /* char *tmp3 = bitmap2node_name(blade_nodes_running_npc); */