From a5431885e841f0a933f1e47653c2cf7e4e820f10 Mon Sep 17 00:00:00 2001 From: Mark Nelson <mdnelson8@gmail.com> Date: Wed, 27 Jun 2012 08:15:01 -0700 Subject: [PATCH] Fix for setting reason field for user/system hold --- src/slurmctld/job_mgr.c | 2 -- src/slurmctld/node_scheduler.c | 15 ++++++++------- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 363f93b72c5..2cbe0c1337d 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -3822,8 +3822,6 @@ extern int job_limits_check(struct job_record **job_pptr) job_ptr->job_id); fail_reason = WAIT_QOS_THRES; } - } else if (job_ptr->priority == 0) { /* user or administrator hold */ - fail_reason = WAIT_HELD; } return (fail_reason); diff --git a/src/slurmctld/node_scheduler.c b/src/slurmctld/node_scheduler.c index 5a49059d152..24379126e1d 100644 --- a/src/slurmctld/node_scheduler.c +++ b/src/slurmctld/node_scheduler.c @@ -1241,18 +1241,19 @@ extern int select_nodes(struct job_record *job_ptr, bool test_only, job_ptr->job_id, job_ptr->partition); } + if (job_ptr->priority == 0) { /* user/admin hold */ + if ((job_ptr->state_reason != WAIT_HELD) && + (job_ptr->state_reason != WAIT_HELD_USER)) { + job_ptr->state_reason = WAIT_HELD; + } + return ESLURM_JOB_HELD; + } + /* Confirm that partition is up and has compatible nodes limits */ fail_reason = job_limits_check(&job_ptr); if (fail_reason != WAIT_NO_REASON) { last_job_update = now; xfree(job_ptr->state_desc); - if (job_ptr->priority == 0) { /* user/admin hold */ - if ((job_ptr->state_reason != WAIT_HELD) && - (job_ptr->state_reason != WAIT_HELD_USER)) { - job_ptr->state_reason = WAIT_HELD; - } - return ESLURM_JOB_HELD; - } job_ptr->state_reason = fail_reason; return ESLURM_REQUESTED_PART_CONFIG_UNAVAILABLE; } -- GitLab