[pve-devel] [PATCH 0/4] add meta info and bandaid for QEMU 6.1 and unpinned q35 machine backward compat
Stefan Reiter
s.reiter at proxmox.com
Thu Oct 21 11:34:52 CEST 2021
On 10/21/21 10:36 AM, Thomas Lamprecht wrote:
> First add a new meta property that is currently exclusively set on new
> VM creation and then read-only, initially add the creation time as UNIX
> epoch and the QEMU version that was installed during installation
> (thought about using the one on first start but that actually does not
> gives any more guarantee, so just go for simple).
>
> Use that information to band aid around a change regarding hotplug in
> QEMU 6.1 that can affected older VMs on fresh start (migration and
> rollback is covered by force-machine mechanisms as always already).
>
> I'm not 100% convinced of the whole thing, albeit I see some merit in
> the meta property even if we do not go with the last patch, anyhow, I
> proposed this off-list to Dominik (and those thing is partly his idea
> too), Wolfgang, Fabian and Stefan and none of them rejected the idea nor
> communicated a better/more preferred alternative, so I went for it
> (still not steaming from enthusiasm though)
So we're doing all of this to avoid issues with older VMs that expect
"acpi-pci-hotplug-with-bridge-support=off" on Q35 (previously default),
but we still want to set it for new VMs that are created with QEMU 6.1
and never booted with anything older.
But taking a step back, do we actually want the new ACPI hotplug in
general? If we choose to simply leave it be, we could just always add
"acpi-pci-hotplug-with-bridge-support=off" to Q35 on QEMU > 6.1.
Since it's a global property, I think we wouldn't even need to check
machine-type/forcemachine at all, since we'd only make the default
explicit with older ones.
>
> Thomas Lamprecht (4):
> config: add new meta property withe creation time
> config: meta: also save the QEMU version installed during creation
> tests: cfg2cmd: add a few q35 related tests
> cfg2cmd: switch off ACPI hotplug on bridges for q35 VMs
>
> PVE/API2/Qemu.pm | 2 +
> PVE/QemuServer.pm | 62 +++++++++++++++++++
> .../q35-linux-hostpci-multifunction.conf.cmd | 1 +
> test/cfg2cmd/q35-linux-hostpci.conf.cmd | 1 +
> test/cfg2cmd/q35-simple-6.0.conf | 13 ++++
> test/cfg2cmd/q35-simple-6.0.conf.cmd | 28 +++++++++
> test/cfg2cmd/q35-simple-6.1.conf | 14 +++++
> test/cfg2cmd/q35-simple-6.1.conf.cmd | 28 +++++++++
> test/cfg2cmd/q35-simple-pinned-6.1.conf | 13 ++++
> test/cfg2cmd/q35-simple-pinned-6.1.conf.cmd | 28 +++++++++
> test/cfg2cmd/q35-simple.conf | 13 ++++
> test/cfg2cmd/q35-simple.conf.cmd | 29 +++++++++
> test/cfg2cmd/q35-win10-hostpci.conf.cmd | 1 +
> 13 files changed, 233 insertions(+)
> create mode 100644 test/cfg2cmd/q35-simple-6.0.conf
> create mode 100644 test/cfg2cmd/q35-simple-6.0.conf.cmd
> create mode 100644 test/cfg2cmd/q35-simple-6.1.conf
> create mode 100644 test/cfg2cmd/q35-simple-6.1.conf.cmd
> create mode 100644 test/cfg2cmd/q35-simple-pinned-6.1.conf
> create mode 100644 test/cfg2cmd/q35-simple-pinned-6.1.conf.cmd
> create mode 100644 test/cfg2cmd/q35-simple.conf
> create mode 100644 test/cfg2cmd/q35-simple.conf.cmd
>
More information about the pve-devel
mailing list