summary refs log tree commit diff stats
path: root/qemu-io-cmds.c
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2024-05-06 15:06:22 -0400
committerKevin Wolf <kwolf@redhat.com>2024-06-10 11:05:43 +0200
commite669e800fc9ef8806af5c5578249ab758a4f8a5a (patch)
tree4c2c07c155752b784429633df46797f76deb6760 /qemu-io-cmds.c
parent719c6819ed9a9838520fa732f9861918dc693bda (diff)
downloadfocaccia-qemu-e669e800fc9ef8806af5c5578249ab758a4f8a5a.tar.gz
focaccia-qemu-e669e800fc9ef8806af5c5578249ab758a4f8a5a.zip
aio: warn about iohandler_ctx special casing
The main loop has two AioContexts: qemu_aio_context and iohandler_ctx.
The main loop runs them both, but nested aio_poll() calls on
qemu_aio_context exclude iohandler_ctx.

Which one should qemu_get_current_aio_context() return when called from
the main loop? Document that it's always qemu_aio_context.

This has subtle effects on functions that use
qemu_get_current_aio_context(). For example, aio_co_reschedule_self()
does not work when moving from iohandler_ctx to qemu_aio_context because
qemu_get_current_aio_context() does not differentiate these two
AioContexts.

Document this in order to reduce the chance of future bugs.

Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240506190622.56095-3-stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'qemu-io-cmds.c')
0 files changed, 0 insertions, 0 deletions