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 4806-4811 static int _select_nodes_parts(job_record_t *job_ptr, bool test_only, Link Here
4806
	ListIterator iter;
4806
	ListIterator iter;
4807
	int rc = ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE;
4807
	int rc = ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE;
4808
	int best_rc = -1, part_limits_rc = WAIT_NO_REASON;
4808
	int best_rc = -1, part_limits_rc = WAIT_NO_REASON;
4809
	int busy_rc = -1;
4809
	bitstr_t *save_avail_node_bitmap = NULL;
4810
	bitstr_t *save_avail_node_bitmap = NULL;
4810
4811
4811
	save_avail_node_bitmap = bit_copy(avail_node_bitmap);
4812
	save_avail_node_bitmap = bit_copy(avail_node_bitmap);
Lines 4889-4897 static int _select_nodes_parts(job_record_t *job_ptr, bool test_only, Link Here
4889
				 * partition as we iterator over others. */
4890
				 * partition as we iterator over others. */
4890
				test_only = true;
4891
				test_only = true;
4891
			}
4892
			}
4893
			/* HvB
4894
			 * Job can be run but all nodes are busy, save it
4895
			*/
4896
			if  (rc == ESLURM_NODES_BUSY)
4897
				busy_rc = rc;
4892
		}
4898
		}
4893
		list_iterator_destroy(iter);
4899
		list_iterator_destroy(iter);
4894
		if (best_rc != -1)
4900
		if (busy_rc != -1)
4901
			rc = busy_rc;
4902
		else if (best_rc != -1)
4895
			rc = best_rc;
4903
			rc = best_rc;
4896
		else if (part_limits_rc == WAIT_PART_DOWN)
4904
		else if (part_limits_rc == WAIT_PART_DOWN)
4897
			rc = ESLURM_PARTITION_DOWN;
4905
			rc = ESLURM_PARTITION_DOWN;

Return to ticket 11044