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 8d34caa31d..2df9037c4e 100644
--- a/hw/core/machine.c
+++ b/hw/core/machine.c
@@ -132,7 +132,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);
