diff options
author | Sergio Lopez <slp@redhat.com> | 2021-02-01 13:50:32 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2021-02-02 13:23:47 +0100 |
commit | 1895b977f9a69419ae45cfc25805f71efae32eaf (patch) | |
tree | 5405b333518fc9e7977a9d4e88ed5e1fffc5acc0 /qemu-nbd.c | |
parent | 722d8e73d65cb54f39d360ecb2147ac58f43c399 (diff) | |
download | qemu-1895b977f9a69419ae45cfc25805f71efae32eaf.zip qemu-1895b977f9a69419ae45cfc25805f71efae32eaf.tar.gz qemu-1895b977f9a69419ae45cfc25805f71efae32eaf.tar.bz2 |
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 'qemu-nbd.c')
-rw-r--r-- | qemu-nbd.c | 1 |
1 files changed, 1 insertions, 0 deletions
@@ -503,6 +503,7 @@ static const char *socket_activation_validate_opts(const char *device, static void qemu_nbd_shutdown(void) { job_cancel_sync_all(); + blk_exp_close_all(); bdrv_close_all(); } |