View | Details | Raw Unified | Return to ticket 10605
Collapse All | Expand All

(-)a/src/slurmctld/job_mgr.c (-12 / +15 lines)
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
- 

Return to ticket 10605