diff --git a/src/slurmctld/front_end.c b/src/slurmctld/front_end.c index 2fe61400c7b3b2b7c1f4afaa5dc441757fca1f7a..0682786eea2cef7a4bb9e79b0b2e3ffe7f99cb9c 100644 --- a/src/slurmctld/front_end.c +++ b/src/slurmctld/front_end.c @@ -1006,7 +1006,8 @@ extern void sync_front_end_state(void) job_ptr->batch_host); } else if (IS_JOB_COMPLETING(job_ptr)) { job_ptr->front_end_ptr->job_cnt_comp++; - } else if (IS_JOB_RUNNING(job_ptr)) { + } else if (IS_JOB_RUNNING(job_ptr) || + IS_JOB_SUSPENDED(job_ptr)) { job_ptr->front_end_ptr->job_cnt_run++; } } else { diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index d35df8a1e2f2f16b715c6a2f93851e33ae1af95e..d592d32625212bb0003da961fcc9663a4e34d1d3 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -13144,9 +13144,10 @@ static void _suspend_job(struct job_record *job_ptr, uint16_t op, #ifdef HAVE_FRONT_END xassert(job_ptr->batch_host); - if (job_ptr->front_end_ptr) + if (job_ptr->front_end_ptr) { agent_args->protocol_version = job_ptr->front_end_ptr->protocol_version; + } hostlist_push_host(agent_args->hostlist, job_ptr->batch_host); agent_args->node_count = 1; #else diff --git a/src/slurmctld/read_config.c b/src/slurmctld/read_config.c index 194d08a6a095e3302be9b93e4060ccf3bcd92cdc..8906bdef721e7498964bc059d4664080c6af543f 100644 --- a/src/slurmctld/read_config.c +++ b/src/slurmctld/read_config.c @@ -1955,7 +1955,7 @@ static int _sync_nodes_to_active_job(struct job_record *job_ptr) } } - if (IS_JOB_RUNNING(job_ptr) && job_ptr->front_end_ptr) + if (IS_JOB_RUNNING(job_ptr) || IS_JOB_SUSPENDED(job_ptr)) job_ptr->front_end_ptr->job_cnt_run++; return cnt; diff --git a/src/slurmctld/slurmctld.h b/src/slurmctld/slurmctld.h index 7b175d33c7fd53652b603ed3228360ad0ca2396b..6bb22a00fb221148dcd1dfac739b760fd8964cdf 100644 --- a/src/slurmctld/slurmctld.h +++ b/src/slurmctld/slurmctld.h @@ -284,7 +284,7 @@ typedef struct front_end_record { uid_t *deny_uids; /* zero terminated list of denied users */ char *deny_users; /* denied user string */ uint32_t job_cnt_comp; /* count of completing jobs on node */ - uint16_t job_cnt_run; /* count of running jobs on node */ + uint16_t job_cnt_run; /* count of running or suspended jobs */ time_t last_response; /* Time of last communication */ uint32_t magic; /* magic cookie to test data integrity */ char *name; /* frontend node name */