From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht 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 --- 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 2cf2f321f9..e0f857820d 100644 --- a/hw/core/machine.c +++ b/hw/core/machine.c @@ -107,7 +107,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);