pve-qemu-qoup/debian/patches/pve/0024-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch
Fiona Ebner 53b56ca781 add stable patches for 8.0.0
Changes to other patches are all just metadata/context changes except
for pvebackup_co_prepare() needing to call bdrv_co_unref() rather than
bdrv_unref(), because it is a coroutine itself. This is documented in
d6ee2e324e ("block-coroutine-wrapper: Introduce no_co_wrapper"). The
change is necessary, because one of the stable fixes converts
bdrv_unref and blk_unref into no_co_wrappers (in preparation for a
second patch to fix a hang with the block resize QMP command).

Signed-off-by: Fiona Ebner <f.ebner@proxmox.com>
2023-05-22 15:09:14 +02:00

42 lines
1.8 KiB
Diff

From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
From: Thomas Lamprecht <t.lamprecht@proxmox.com>
Date: Mon, 6 Apr 2020 12:16:54 +0200
Subject: [PATCH] PVE: [Compat]: 4.0 used balloon qemu-4-0-config-size false
here
The underlying issue why this change from upstream to us arised in
the first place is that QEMU 4.0 was already released at the point we
run into this migration issue, so we did the then obvious fallback to
false for virtio-balloon-device qemu-4-0-config-size.
QEMU made that switch back in 4.1, where it now uses a backward
compatible mechanism to detect if the bigger CFG sizes should be
used, i.e., checking the VIRTIO_BALLOON_F_PAGE_POISON or
VIRTIO_BALLOON_F_FREE_PAGE_HINT balloon feature flags.
As for them, upstream released version 4.0 had this to true they keep
it to true in their compatibility record for the 4.0 machine, to
allow live migrations from 4.0 to 4.1.
As for us, downstream released version 4.0 (first public release of
this QEMU) had this to false, we change it back to false again, for
the same reason.
Signed-off-by: Thomas Lamprecht <t.lamprecht@proxmox.com>
---
hw/core/machine.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/hw/core/machine.c b/hw/core/machine.c
index 5060119952..9d1c358c12 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -142,7 +142,8 @@ GlobalProperty hw_compat_4_0[] = {
{ "virtio-vga", "edid", "false" },
{ "virtio-gpu-device", "edid", "false" },
{ "virtio-device", "use-started", "false" },
- { "virtio-balloon-device", "qemu-4-0-config-size", "true" },
+ // PVE differed from upstream for 4.0 balloon cfg size
+ { "virtio-balloon-device", "qemu-4-0-config-size", "false" },
{ "pl031", "migrate-tick-offset", "false" },
};
const size_t hw_compat_4_0_len = G_N_ELEMENTS(hw_compat_4_0);