1 From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
2 From: Kevin Wolf <kwolf@redhat.com>
3 Date: Thu, 3 Dec 2020 18:23:10 +0100
4 Subject: [PATCH] block: Fix locking in qmp_block_resize()
6 The drain functions assume that we hold the AioContext lock of the
7 drained block node. Make sure to actually take the lock.
9 Cc: qemu-stable@nongnu.org
10 Fixes: eb94b81a94bce112e6b206df846c1551aaf6cab6
11 Signed-off-by: Kevin Wolf <kwolf@redhat.com>
12 Message-Id: <20201203172311.68232-3-kwolf@redhat.com>
13 Reviewed-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
14 Signed-off-by: Kevin Wolf <kwolf@redhat.com>
15 Signed-off-by: Stefan Reiter <s.reiter@proxmox.com>
18 1 file changed, 4 insertions(+), 1 deletion(-)
20 diff --git a/blockdev.c b/blockdev.c
21 index fe6fb5dc1d..9a86e9fb4b 100644
24 @@ -2481,14 +2481,17 @@ void coroutine_fn qmp_block_resize(bool has_device, const char *device,
29 bdrv_drained_begin(bs);
32 old_ctx = bdrv_co_enter(bs);
33 blk_truncate(blk, size, false, PREALLOC_MODE_OFF, 0, errp);
34 bdrv_co_leave(bs, old_ctx);
35 - bdrv_drained_end(bs);
39 + bdrv_drained_end(bs);