From 72f1f1d0d219bec2520e96a08fde7355fe83bfb8 Mon Sep 17 00:00:00 2001 From: Morris Jette <jette@schedmd.com> Date: Thu, 21 Aug 2014 16:33:44 -0700 Subject: [PATCH] Revert previous commit Revert commit 26e77f93f0b6cc1218d84d0b3c350a11ab01a791 This logic is obviously wrong. Investigate more tomorrow. --- src/slurmctld/job_mgr.c | 27 ++++++++++++++++----------- 1 file changed, 16 insertions(+), 11 deletions(-) diff --git a/src/slurmctld/job_mgr.c b/src/slurmctld/job_mgr.c index 9a05390b8a9..c86eaa0c549 100644 --- a/src/slurmctld/job_mgr.c +++ b/src/slurmctld/job_mgr.c @@ -7248,6 +7248,7 @@ extern int pack_one_job(char **buffer_ptr, int *buffer_size, uint32_t job_id, uint16_t show_flags, uid_t uid, uint16_t protocol_version) { + ListIterator job_iterator; struct job_record *job_ptr; uint32_t jobs_packed = 0, tmp_offset; Buf buffer; @@ -7271,18 +7272,22 @@ extern int pack_one_job(char **buffer_ptr, int *buffer_size, jobs_packed++; } } else { - /* Single job ID not found. Test for job array. */ - job_ptr = job_array_hash_j[JOB_HASH_INX(job_id)]; - while (job_ptr) { - if (job_ptr->array_job_id == job_id) { - if (_hide_job(job_ptr, uid)) - break; - pack_job(job_ptr, show_flags, buffer, - protocol_version, uid); - jobs_packed++; - } - job_ptr = job_ptr->job_array_next_j; + /* Single job ID not found. It could reference a job array. */ + job_iterator = list_iterator_create(job_list); + while ((job_ptr = (struct job_record *) + list_next(job_iterator))) { + if ((job_ptr->job_id != job_id) && + ((job_ptr->array_task_id == NO_VAL) || + (job_ptr->array_job_id != job_id))) + continue; + + if (_hide_job(job_ptr, uid)) + break; + pack_job(job_ptr, show_flags, buffer, protocol_version, + uid); + jobs_packed++; } + list_iterator_destroy(job_iterator); } if (jobs_packed == 0) { -- GitLab