diff --git a/src/slurmctld/acct_policy.c b/src/slurmctld/acct_policy.c index ab447b77449c8f34669a5b5d33c5cda8370c7a46..8294d53d945b2e659facab3da6f47bc6cced75a0 100644 --- a/src/slurmctld/acct_policy.c +++ b/src/slurmctld/acct_policy.c @@ -187,14 +187,14 @@ static void _adjust_limit_usage(int type, struct job_record *job_ptr) break; case ACCT_POLICY_REM_SUBMIT: if (qos_ptr->usage->grp_used_submit_jobs) - qos_ptr->usage->grp_used_submit_jobs--; + qos_ptr->usage->grp_used_submit_jobs -= job_cnt; else debug2("acct_policy_remove_job_submit: " "grp_submit_jobs underflow for qos %s", qos_ptr->name); if (used_limits->submit_jobs) - used_limits->submit_jobs--; + used_limits->submit_jobs -= job_cnt; else debug2("acct_policy_remove_job_submit: " "used_submit_jobs underflow for " @@ -283,7 +283,7 @@ static void _adjust_limit_usage(int type, struct job_record *job_ptr) break; case ACCT_POLICY_REM_SUBMIT: if (assoc_ptr->usage->used_submit_jobs) - assoc_ptr->usage->used_submit_jobs--; + assoc_ptr->usage->used_submit_jobs -= job_cnt; else debug2("acct_policy_remove_job_submit: " "used_submit_jobs underflow for " diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 5acb40216d13f38a906e1d9d87e1698462fb6371..9853a8ee229a3cc57c5c2a59e566a021c629996f 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -3912,7 +3912,7 @@ extern int job_allocate(job_desc_msg_t * job_specs, int immediate, _create_job_array(job_ptr, job_specs); slurmctld_diag_stats.jobs_submitted += - job_ptr->array_recs ? + (job_ptr->array_recs && job_ptr->array_recs->task_cnt) ? job_ptr->array_recs->task_cnt : 1; acct_policy_add_job_submit(job_ptr);