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:21 -0400
committerKevin Wolf <kwolf@redhat.com>2024-06-10 11:05:43 +0200
commit719c6819ed9a9838520fa732f9861918dc693bda (patch)
treeabb6c3ad4cc7079fa0d122bf465db61b3fb56532 /qemu-io-cmds.c
parentb67e353863deec6b7fbbc728773180a8533e9e48 (diff)
downloadfocaccia-qemu-719c6819ed9a9838520fa732f9861918dc693bda.tar.gz
focaccia-qemu-719c6819ed9a9838520fa732f9861918dc693bda.zip
Revert "monitor: use aio_co_reschedule_self()"
Commit 1f25c172f837 ("monitor: use aio_co_reschedule_self()") was a code
cleanup that uses aio_co_reschedule_self() instead of open coding
coroutine rescheduling.

Bug RHEL-34618 was reported and Kevin Wolf <kwolf@redhat.com> identified
the root cause. I missed that aio_co_reschedule_self() ->
qemu_get_current_aio_context() only knows about
qemu_aio_context/IOThread AioContexts and not about iohandler_ctx. It
does not function correctly when going back from the iohandler_ctx to
qemu_aio_context.

Go back to open coding the AioContext transitions to avoid this bug.

This reverts commit 1f25c172f83704e350c0829438d832384084a74d.

Cc: qemu-stable@nongnu.org
Buglink: https://issues.redhat.com/browse/RHEL-34618
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Message-ID: <20240506190622.56095-2-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