diff --git a/src/srun/allocate.c b/src/srun/allocate.c index 4d352b6f097a2a61de5495407a25004a18b604af..ba19b0a5bbcbdc98a8368c937c1ea34f32c010df 100644 --- a/src/srun/allocate.c +++ b/src/srun/allocate.c @@ -119,11 +119,18 @@ allocate_nodes(void) info("Warning: %s", slurm_strerror(resp->error_code)); _wait_for_resources(&resp); } + /* For diagnosing a node problem, administrators need to sometimes + * run a job on N nodes one of which must be the node believed to + * have a problem (e.g. "srun -N4 -w bad_node diagnostic"). The + * below logic prevents this from working and necessiates the + * admin identify four specific nodes to use for the above test + * instead of just the one bad node. Otherwise only the one + * bad node is used in the job's allocation. */ if(resp->node_list && j->req_nodes) { xfree(resp->node_list); resp->node_list = xstrdup(j->req_nodes); } - + done: xsignal_set_mask(&oset); xsignal(SIGINT, ointf);