aio: rename aio_context_in_iothread() to in_aio_context_home_thread()

The name aio_context_in_iothread() is misleading because it also returns
true when called on the main AioContext from the main loop thread, which
is not an IOThread.

This patch renames it to in_aio_context_home_thread() and expands the
doc comment to make the semantics clearer.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Stefan Hajnoczi 2018-02-16 16:50:11 +00:00 committed by Kevin Wolf
parent be820971ff
commit d2b63ba8dd
2 changed files with 6 additions and 3 deletions

View File

@ -534,11 +534,14 @@ void aio_co_enter(AioContext *ctx, struct Coroutine *co);
AioContext *qemu_get_current_aio_context(void); AioContext *qemu_get_current_aio_context(void);
/** /**
* in_aio_context_home_thread:
* @ctx: the aio context * @ctx: the aio context
* *
* Return whether we are running in the I/O thread that manages @ctx. * Return whether we are running in the thread that normally runs @ctx. Note
* that acquiring/releasing ctx does not affect the outcome, each AioContext
* still only has one home thread that is responsible for running it.
*/ */
static inline bool aio_context_in_iothread(AioContext *ctx) static inline bool in_aio_context_home_thread(AioContext *ctx)
{ {
return ctx == qemu_get_current_aio_context(); return ctx == qemu_get_current_aio_context();
} }

View File

@ -372,7 +372,7 @@ void bdrv_drain_all(void);
bool busy_ = true; \ bool busy_ = true; \
BlockDriverState *bs_ = (bs); \ BlockDriverState *bs_ = (bs); \
AioContext *ctx_ = bdrv_get_aio_context(bs_); \ AioContext *ctx_ = bdrv_get_aio_context(bs_); \
if (aio_context_in_iothread(ctx_)) { \ if (in_aio_context_home_thread(ctx_)) { \
while ((cond) || busy_) { \ while ((cond) || busy_) { \
busy_ = aio_poll(ctx_, (cond)); \ busy_ = aio_poll(ctx_, (cond)); \
waited_ |= !!(cond) | busy_; \ waited_ |= !!(cond) | busy_; \