[pve-devel] [PATCH 27/31] PVE: [Compat]: 4.0 used balloon qemu-4-0-config-size false here

Dietmar Maurer dietmar at proxmox.com
Fri Mar 6 12:30:07 CET 2020


From: Thomas Lamprecht <t.lamprecht at proxmox.com>

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 at 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 1689ad3bf8..bdcb351ede 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -39,7 +39,8 @@ GlobalProperty hw_compat_4_0[] = {
     { "virtio-vga",     "edid", "false" },
     { "virtio-gpu",     "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);
-- 
2.20.1




More information about the pve-devel mailing list