|
Lines 9776-9806
static bool _hide_job(job_record_t *job_ptr, uid_t uid, uint16_t show_flags)
Link Here
|
| 9776 |
return false; |
9776 |
return false; |
| 9777 |
} |
9777 |
} |
| 9778 |
|
9778 |
|
| 9779 |
static int _pack_job(void *object, void *arg) |
9779 |
static void _pack_job(job_record_t *job_ptr, |
|
|
9780 |
_foreach_pack_job_info_t *pack_info) |
| 9780 |
{ |
9781 |
{ |
| 9781 |
job_record_t *job_ptr = (job_record_t *)object; |
|
|
| 9782 |
_foreach_pack_job_info_t *pack_info = (_foreach_pack_job_info_t *)arg; |
| 9783 |
|
| 9784 |
xassert (job_ptr->magic == JOB_MAGIC); |
9782 |
xassert (job_ptr->magic == JOB_MAGIC); |
| 9785 |
|
9783 |
|
| 9786 |
if ((pack_info->filter_uid != NO_VAL) && |
9784 |
if ((pack_info->filter_uid != NO_VAL) && |
| 9787 |
(pack_info->filter_uid != job_ptr->user_id)) |
9785 |
(pack_info->filter_uid != job_ptr->user_id)) |
| 9788 |
return SLURM_SUCCESS; |
9786 |
return; |
| 9789 |
|
9787 |
|
| 9790 |
if (((pack_info->show_flags & SHOW_ALL) == 0) && |
9788 |
if (((pack_info->show_flags & SHOW_ALL) == 0) && |
| 9791 |
(pack_info->uid != 0) && |
9789 |
(pack_info->uid != 0) && |
| 9792 |
_all_parts_hidden(job_ptr, pack_info->uid)) |
9790 |
_all_parts_hidden(job_ptr, pack_info->uid)) |
| 9793 |
return SLURM_SUCCESS; |
9791 |
return; |
| 9794 |
|
9792 |
|
| 9795 |
if (_hide_job(job_ptr, pack_info->uid, pack_info->show_flags)) |
9793 |
if (_hide_job(job_ptr, pack_info->uid, pack_info->show_flags)) |
| 9796 |
return SLURM_SUCCESS; |
9794 |
return; |
| 9797 |
|
9795 |
|
| 9798 |
pack_job(job_ptr, pack_info->show_flags, pack_info->buffer, |
9796 |
pack_job(job_ptr, pack_info->show_flags, pack_info->buffer, |
| 9799 |
pack_info->protocol_version, pack_info->uid); |
9797 |
pack_info->protocol_version, pack_info->uid); |
| 9800 |
|
9798 |
|
| 9801 |
(*pack_info->jobs_packed)++; |
9799 |
(*pack_info->jobs_packed)++; |
| 9802 |
|
|
|
| 9803 |
return SLURM_SUCCESS; |
| 9804 |
} |
9800 |
} |
| 9805 |
|
9801 |
|
| 9806 |
static int _foreach_pack_jobid(void *object, void *arg) |
9802 |
static int _foreach_pack_jobid(void *object, void *arg) |
|
Lines 9812-9818
static int _foreach_pack_jobid(void *object, void *arg)
Link Here
|
| 9812 |
if (!(job_ptr = find_job_record(job_id))) |
9808 |
if (!(job_ptr = find_job_record(job_id))) |
| 9813 |
return SLURM_SUCCESS; |
9809 |
return SLURM_SUCCESS; |
| 9814 |
|
9810 |
|
| 9815 |
return _pack_job(job_ptr, info); |
9811 |
_pack_job(job_ptr, info); |
|
|
9812 |
|
| 9813 |
return SLURM_SUCCESS; |
| 9816 |
} |
9814 |
} |
| 9817 |
|
9815 |
|
| 9818 |
/* |
9816 |
/* |
|
Lines 9835-9840
extern void pack_all_jobs(char **buffer_ptr, int *buffer_size,
Link Here
|
| 9835 |
uint32_t jobs_packed = 0, tmp_offset; |
9833 |
uint32_t jobs_packed = 0, tmp_offset; |
| 9836 |
_foreach_pack_job_info_t pack_info = {0}; |
9834 |
_foreach_pack_job_info_t pack_info = {0}; |
| 9837 |
Buf buffer; |
9835 |
Buf buffer; |
|
|
9836 |
ListIterator itr; |
| 9837 |
job_record_t *job_ptr = NULL; |
| 9838 |
|
9838 |
|
| 9839 |
buffer_ptr[0] = NULL; |
9839 |
buffer_ptr[0] = NULL; |
| 9840 |
*buffer_size = 0; |
9840 |
*buffer_size = 0; |
|
Lines 9854-9860
extern void pack_all_jobs(char **buffer_ptr, int *buffer_size,
Link Here
|
| 9854 |
pack_info.show_flags = show_flags; |
9854 |
pack_info.show_flags = show_flags; |
| 9855 |
pack_info.uid = uid; |
9855 |
pack_info.uid = uid; |
| 9856 |
|
9856 |
|
| 9857 |
list_for_each(job_list, _pack_job, &pack_info); |
9857 |
itr = list_iterator_create(job_list); |
|
|
9858 |
while ((job_ptr = list_next(itr))) { |
| 9859 |
_pack_job(job_ptr, &pack_info); |
| 9860 |
} |
| 9861 |
list_iterator_destroy(itr); |
| 9858 |
|
9862 |
|
| 9859 |
/* put the real record count in the message body header */ |
9863 |
/* put the real record count in the message body header */ |
| 9860 |
tmp_offset = get_buf_offset(buffer); |
9864 |
tmp_offset = get_buf_offset(buffer); |
| 9861 |
- |
|
|