View | Details | Raw Unified | Return to ticket 11044 | Differences between
and this patch

Collapse All | Expand All

(-)a/src/slurmctld/job_mgr.c (-1 / +9 lines)
Lines 4964-4969 static int _select_nodes_parts(job_record_t *job_ptr, bool test_only, Link Here
4964
	ListIterator iter;
4964
	ListIterator iter;
4965
	int rc = ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE;
4965
	int rc = ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE;
4966
	int best_rc = -1, part_limits_rc = WAIT_NO_REASON;
4966
	int best_rc = -1, part_limits_rc = WAIT_NO_REASON;
4967
	int busy_rc = -1;
4967
	bitstr_t *save_avail_node_bitmap = NULL;
4968
	bitstr_t *save_avail_node_bitmap = NULL;
4968
4969
4969
	save_avail_node_bitmap = bit_copy(avail_node_bitmap);
4970
	save_avail_node_bitmap = bit_copy(avail_node_bitmap);
Lines 4986-4994 static int _select_nodes_parts(job_record_t *job_ptr, bool test_only, Link Here
4986
						&part_limits_rc) ==
4987
						&part_limits_rc) ==
4987
			    SLURM_SUCCESS)
4988
			    SLURM_SUCCESS)
4988
				break;
4989
				break;
4990
                        /*
4991
                         * Job can be run but all nodes are busy, save it
4992
                        */
4993
			if  (rc == ESLURM_NODES_BUSY)
4994
                        	busy_rc = rc;
4989
		}
4995
		}
4990
		list_iterator_destroy(iter);
4996
		list_iterator_destroy(iter);
4991
		if (best_rc != -1)
4997
		if (busy_rc != -1)
4998
			rc = busy_rc;
4999
		else if (best_rc != -1)
4992
			rc = best_rc;
5000
			rc = best_rc;
4993
		else if (part_limits_rc == WAIT_PART_DOWN)
5001
		else if (part_limits_rc == WAIT_PART_DOWN)
4994
			rc = ESLURM_PARTITION_DOWN;
5002
			rc = ESLURM_PARTITION_DOWN;

Return to ticket 11044