diff --git a/src/slurmctld/step_mgr.c b/src/slurmctld/step_mgr.c index f29d258f08aaf59106ab68bcded3db5bac893101..aad5d0d31452adb3bb59d8c2eb369fe058cb08a8 100644 --- a/src/slurmctld/step_mgr.c +++ b/src/slurmctld/step_mgr.c @@ -250,6 +250,9 @@ pack_step (struct step_record *dump_step_ptr, void **buf_ptr, int *buf_len) /* * pick_step_nodes - select nodes for a job step that satify its requirements * we satify the super-set of constraints. + * global: node_record_table_ptr - pointer to global node table + * NOTE: returns all of a job's nodes if min_nodes == INFINITE + * NOTE: returned bitmap must be freed by the caller using bit_free() */ bitstr_t * pick_step_nodes (struct job_record *job_ptr, int min_nodes, int min_cpus, @@ -262,7 +265,8 @@ pick_step_nodes (struct job_record *job_ptr, int min_nodes, int min_cpus, nodes_avail = bit_copy(job_ptr->node_bitmap); -/* we want a short-cut here for all nodes, just return copy of job_ptr->node_bitmap */ + if (min_nodes == INFINITE) /* return all available nodes */ + return nodes_avail; if (node_list) { error_code = node_name2bitmap (node_list, &nodes_picked);