blockjob: Add block_job_get()
Currently the way to look for a specific block job is to iterate the list manually using block_job_next(). Since we want to be able to identify a job primarily by its ID it makes sense to have a function that does just that. Signed-off-by: Alberto Garcia <berto@igalia.com> Reviewed-by: Max Reitz <mreitz@redhat.com> Reviewed-by: Kevin Wolf <kwolf@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
9df229c3ca
commit
ffb1f10cd1
13
blockjob.c
13
blockjob.c
@ -60,6 +60,19 @@ BlockJob *block_job_next(BlockJob *job)
|
|||||||
return QLIST_NEXT(job, job_list);
|
return QLIST_NEXT(job, job_list);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
BlockJob *block_job_get(const char *id)
|
||||||
|
{
|
||||||
|
BlockJob *job;
|
||||||
|
|
||||||
|
QLIST_FOREACH(job, &block_jobs, job_list) {
|
||||||
|
if (!strcmp(id, job->id)) {
|
||||||
|
return job;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return NULL;
|
||||||
|
}
|
||||||
|
|
||||||
/* Normally the job runs in its BlockBackend's AioContext. The exception is
|
/* Normally the job runs in its BlockBackend's AioContext. The exception is
|
||||||
* block_job_defer_to_main_loop() where it runs in the QEMU main loop. Code
|
* block_job_defer_to_main_loop() where it runs in the QEMU main loop. Code
|
||||||
* that supports both cases uses this helper function.
|
* that supports both cases uses this helper function.
|
||||||
|
@ -211,6 +211,16 @@ struct BlockJob {
|
|||||||
*/
|
*/
|
||||||
BlockJob *block_job_next(BlockJob *job);
|
BlockJob *block_job_next(BlockJob *job);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* block_job_get:
|
||||||
|
* @id: The id of the block job.
|
||||||
|
*
|
||||||
|
* Get the block job identified by @id (which must not be %NULL).
|
||||||
|
*
|
||||||
|
* Returns the requested job, or %NULL if it doesn't exist.
|
||||||
|
*/
|
||||||
|
BlockJob *block_job_get(const char *id);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* block_job_create:
|
* block_job_create:
|
||||||
* @job_type: The class object for the newly-created job.
|
* @job_type: The class object for the newly-created job.
|
||||||
|
Loading…
Reference in New Issue
Block a user