From 99b86f4f9d6509617045b2b72b8087f76a551895 Mon Sep 17 00:00:00 2001 From: Thomas Lamprecht Date: Fri, 22 Nov 2019 10:07:23 +0100 Subject: [PATCH] handle virtio-balloon cfg size compat with our 4.0 machines Signed-off-by: Thomas Lamprecht --- ...sed-balloon-qemu-4-0-config-size-fal.patch | 41 +++++++++++++++++++ debian/patches/series | 1 + 2 files changed, 42 insertions(+) create mode 100644 debian/patches/pve/0045-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch diff --git a/debian/patches/pve/0045-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch b/debian/patches/pve/0045-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch new file mode 100644 index 0000000..96fc6a8 --- /dev/null +++ b/debian/patches/pve/0045-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch @@ -0,0 +1,41 @@ +From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From: Thomas Lamprecht +Date: Fri, 22 Nov 2019 08:56:20 +0100 +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 32d1ca9abc..0ee68f1473 100644 +--- a/hw/core/machine.c ++++ b/hw/core/machine.c +@@ -34,7 +34,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); diff --git a/debian/patches/series b/debian/patches/series index af0f24a..f54e373 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -43,3 +43,4 @@ pve/0041-PVE-backup-consider-source-cluster-size-as-well.patch pve/0042-PVE-fixup-vma-tool.patch pve/0043-PVE-fixup-blockdev-pvebackup-integration-fix-blockjo.patch pve/0044-Acquire-aio_context-before-calling-block_job_add_bdr.patch +pve/0045-PVE-Compat-4.0-used-balloon-qemu-4-0-config-size-fal.patch