summaryrefslogtreecommitdiffstats
path: root/storage-daemon
diff options
context:
space:
mode:
authorSergio Lopez2021-02-01 13:50:32 +0100
committerKevin Wolf2021-02-02 13:23:47 +0100
commit1895b977f9a69419ae45cfc25805f71efae32eaf (patch)
tree5405b333518fc9e7977a9d4e88ed5e1fffc5acc0 /storage-daemon
parentblock: Avoid processing BDS twice in bdrv_set_aio_context_ignore() (diff)
downloadqemu-1895b977f9a69419ae45cfc25805f71efae32eaf.tar.gz
qemu-1895b977f9a69419ae45cfc25805f71efae32eaf.tar.xz
qemu-1895b977f9a69419ae45cfc25805f71efae32eaf.zip
block: move blk_exp_close_all() to qemu_cleanup()
Move blk_exp_close_all() from bdrv_close() to qemu_cleanup(), before bdrv_drain_all_begin(). Export drivers may have coroutines yielding at some point in the block layer, so we need to shut them down before draining the block layer, as otherwise they may get stuck blk_wait_while_drained(). RHBZ: https://bugzilla.redhat.com/show_bug.cgi?id=1900505 Signed-off-by: Sergio Lopez <slp@redhat.com> Message-Id: <20210201125032.44713-3-slp@redhat.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'storage-daemon')
-rw-r--r--storage-daemon/qemu-storage-daemon.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/storage-daemon/qemu-storage-daemon.c b/storage-daemon/qemu-storage-daemon.c
index e0c87edbdd..d8d172cc60 100644
--- a/storage-daemon/qemu-storage-daemon.c
+++ b/storage-daemon/qemu-storage-daemon.c
@@ -314,6 +314,7 @@ int main(int argc, char *argv[])
main_loop_wait(false);
}
+ blk_exp_close_all();
bdrv_drain_all_begin();
bdrv_close_all();