@@ -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;
}
@@ -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
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 <eesposit@redhat.com> --- blockjob.c | 1 + include/block/blockjob.h | 15 ++++++++------- 2 files changed, 9 insertions(+), 7 deletions(-)