aboutsummaryrefslogtreecommitdiff
path: root/tests/docker
diff options
context:
space:
mode:
authorStefan Hajnoczi <stefanha@redhat.com>2023-05-16 15:02:28 -0400
committerKevin Wolf <kwolf@redhat.com>2023-05-30 17:32:02 +0200
commitab61335025b1274bd7042219203524045b23e0d3 (patch)
tree209b7456df64d36079bc4eb6a43b8287a2436e33 /tests/docker
parentff82b7835b2fbbd0a17d616f6929601a97a6497d (diff)
downloadqemu-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/docker')
0 files changed, 0 insertions, 0 deletions