diff options
author | Stefan Hajnoczi <stefanha@redhat.com> | 2023-05-16 15:02:28 -0400 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2023-05-30 17:32:02 +0200 |
commit | ab61335025b1274bd7042219203524045b23e0d3 (patch) | |
tree | 209b7456df64d36079bc4eb6a43b8287a2436e33 /tests/test-qht-par.c | |
parent | ff82b7835b2fbbd0a17d616f6929601a97a6497d (diff) | |
download | qemu-ab61335025b1274bd7042219203524045b23e0d3.zip qemu-ab61335025b1274bd7042219203524045b23e0d3.tar.gz qemu-ab61335025b1274bd7042219203524045b23e0d3.tar.bz2 |
block: drain from main loop thread in bdrv_co_yield_to_drain()
For simplicity, always run BlockDevOps .drained_begin/end/poll()
callbacks in the main loop thread. This makes it easier to implement the
callbacks and avoids extra locks.
Move the function pointer declarations from the I/O Code section to the
Global State section for BlockDevOps, BdrvChildClass, and BlockDriver.
Narrow IO_OR_GS_CODE() to GLOBAL_STATE_CODE() where appropriate.
The test-bdrv-drain test case calls bdrv_drain() from an IOThread. This
is now only allowed from coroutine context, so update the test case to
run in a coroutine.
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: Kevin Wolf <kwolf@redhat.com>
Message-Id: <20230516190238.8401-11-stefanha@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'tests/test-qht-par.c')
0 files changed, 0 insertions, 0 deletions