pick fix for potential deadlock with QMP resize and iothread
While the patch gives bdrv_graph_wrlock() as an example where the issue can manifest, something similar can happen even when that is disabled. Was able to reproduce the issue with while true; do qm resize 115 scsi0 +4M; sleep 1; done while running fio --name=make-mirror-work --size=100M --direct=1 --rw=randwrite \ --bs=4k --ioengine=psync --numjobs=5 --runtime=1200 --time_based in the VM. Fix picked up from: https://lists.nongnu.org/archive/html/qemu-devel/2023-12/msg01102.html Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
This commit is contained in:
committed by
Thomas Lamprecht
parent
6b7c1815e1
commit
dfac4f3593
@@ -62,10 +62,10 @@ index 00f2665ca4..60cf574de5 100644
|
||||
|
||||
if (bitmap_mode != BITMAP_SYNC_MODE_NEVER) {
|
||||
diff --git a/blockdev.c b/blockdev.c
|
||||
index 83d5cc1e49..060d86a65f 100644
|
||||
index 01b0ab0549..cd5f205ad1 100644
|
||||
--- a/blockdev.c
|
||||
+++ b/blockdev.c
|
||||
@@ -2924,7 +2924,36 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||
@@ -2925,7 +2925,36 @@ static void blockdev_mirror_common(const char *job_id, BlockDriverState *bs,
|
||||
sync = MIRROR_SYNC_MODE_FULL;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user