qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[PATCH v4 14/19] blockjob: block_job_get_aio_context is a GS function


From: Emanuele Giuseppe Esposito
Subject: [PATCH v4 14/19] blockjob: block_job_get_aio_context is a GS function
Date: Fri, 28 Jan 2022 06:50:26 -0500

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(-)

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




reply via email to

[Prev in Thread] Current Thread [Next in Thread]