Move block_job_get_aio_context under the GS category in blockjob.h, as it is always called with the BQL held.
This is done also to simplify the coming job->aiocontext protection. For more infos about the GS API, see include/block/block-global-state.h Signed-off-by: Emanuele Giuseppe Esposito <eespo...@redhat.com> --- blockjob.c | 1 + include/block/blockjob.h | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-) diff --git a/blockjob.c b/blockjob.c index a6c94b6b64..04d868f020 100644 --- a/blockjob.c +++ b/blockjob.c @@ -568,5 +568,6 @@ BlockErrorAction block_job_error_action(BlockJob *job, BlockdevOnError on_err, AioContext *block_job_get_aio_context(BlockJob *job) { + assert(qemu_in_main_thread()); return job->job.aio_context; } diff --git a/include/block/blockjob.h b/include/block/blockjob.h index a9a6cf2b84..376cd95877 100644 --- a/include/block/blockjob.h +++ b/include/block/blockjob.h @@ -169,6 +169,14 @@ BlockJobInfo *block_job_query_locked(BlockJob *job, Error **errp); */ void block_job_iostatus_reset_locked(BlockJob *job); +/* + * block_job_get_aio_context: + * + * Returns aio context associated with a block job. + */ +AioContext *block_job_get_aio_context(BlockJob *job); + + /* Common functions that are neither I/O nor Global State */ /** @@ -186,11 +194,4 @@ bool block_job_is_internal(BlockJob *job); */ const BlockJobDriver *block_job_driver(BlockJob *job); -/* - * block_job_get_aio_context: - * - * Returns aio context associated with a block job. - */ -AioContext *block_job_get_aio_context(BlockJob *job); - #endif -- 2.31.1