mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 15:23:53 -06:00
block: Assert drain_all is only called from main AioContext
Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com>
This commit is contained in:
parent
8e77e0bceb
commit
9a7e86c804
1 changed files with 6 additions and 0 deletions
|
@ -330,6 +330,12 @@ void bdrv_drain_all_begin(void)
|
||||||
BdrvNextIterator it;
|
BdrvNextIterator it;
|
||||||
GSList *aio_ctxs = NULL, *ctx;
|
GSList *aio_ctxs = NULL, *ctx;
|
||||||
|
|
||||||
|
/* BDRV_POLL_WHILE() for a node can only be called from its own I/O thread
|
||||||
|
* or the main loop AioContext. We potentially use BDRV_POLL_WHILE() on
|
||||||
|
* nodes in several different AioContexts, so make sure we're in the main
|
||||||
|
* context. */
|
||||||
|
assert(qemu_get_current_aio_context() == qemu_get_aio_context());
|
||||||
|
|
||||||
block_job_pause_all();
|
block_job_pause_all();
|
||||||
|
|
||||||
for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
|
for (bs = bdrv_first(&it); bs; bs = bdrv_next(&it)) {
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue