diff --git a/src/plugins/sched/wiki2/job_modify.c b/src/plugins/sched/wiki2/job_modify.c index 7b78d2dcce1a8cc3d278f18f29ca5a36971f990c..07691b3f385145eb598d0fab8926da59b68f8471 100644 --- a/src/plugins/sched/wiki2/job_modify.c +++ b/src/plugins/sched/wiki2/job_modify.c @@ -238,11 +238,11 @@ static int _job_modify(uint32_t jobid, char *bank_ptr, hostlist_t hl; char *tasklist; - if (!job_ptr->details) { + if (!IS_JOB_PENDING(job_ptr) || !job_ptr->details) { /* Job is done, nothing to reset */ if (new_hostlist == '\0') goto host_fini; - error("wiki: MODIFYJOB tasklist of non-pending " + error("wiki: MODIFYJOB hostlist of non-pending " "job %u", jobid); return ESLURM_DISABLED; } @@ -292,12 +292,19 @@ host_fini: if (rc) { if (part_name_ptr) { struct part_record *part_ptr; + if (!IS_JOB_PENDING(job_ptr)) { + error("wiki: MODIFYJOB partition of non-pending " + "job %u", jobid); + return ESLURM_DISABLED; + } + part_ptr = find_part_record(part_name_ptr); if (part_ptr == NULL) { error("wiki: MODIFYJOB has invalid partition %s", part_name_ptr); return ESLURM_INVALID_PARTITION_NAME; } + info("wiki: change job %u partition %s", jobid, part_name_ptr); xfree(job_ptr->partition);