qemu/xen-ignore-live-parameter-from-xen-save-.patch

42 lines
1.7 KiB
Diff
Raw Normal View History

From: Olaf Hering <olaf@aepfle.de>
Date: Tue, 8 Jan 2019 14:20:08 +0100
Subject: xen: ignore live parameter from xen-save-devices-state
References: bsc#1079730, bsc#1101982, bsc#1063993
The final step of xl migrate|save for an HVM domU is saving the state of
qemu. This also involves releasing all block devices. While releasing
backends ought to be a separate step, such functionality is not
implemented.
Unfortunately, releasing the block devices depends on the optional
'live' option. This breaks offline migration with 'virsh migrate domU
dom0' because the sending side does not release the disks, as a result
the receiving side can not properly claim write access to the disks.
As a minimal fix, remove the dependency on the 'live' option. Upstream
may fix this in a different way, like removing the newly added 'live'
parameter entirely.
Fixes: 5d6c599fe1 ("migration, xen: Fix block image lock issue on live migration")
Signed-off-by: Olaf Hering <olaf@aepfle.de>
Signed-off-by: Bruce Rogers <brogers@suse.com>
---
migration/savevm.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/migration/savevm.c b/migration/savevm.c
Accepting request 941047 from home:dfaggioli:devel:Virtualization - Add an audio-oss sub-package - Add some new (mostly documentation) files in the package - Remove option --audio-drv-list because audio is detected by meson automatically in latest version. - Remove options --disable-jemalloc and --disable-tcmalloc which are changed in v6.2.0. - Update to v 6.2.0. For full release notese, see: * https://wiki.qemu.org/ChangeLog/6.2. Be sure to also check the following pages: * https://qemu-project.gitlab.io/qemu/about/removed-features.html * https://qemu-project.gitlab.io/qemu/about/deprecated.html Some notable changes: * virtio-mem: guest memory dumps are now fully supported, along with pre-copy/post-copy migration and background guest snapshots * QMP: support for nw DEVICE_UNPLUG_GUEST_ERROR to detect guest-reported hotplug failures * TCG: improvements to TCG plugin argument syntax, and multi-core support for cache plugin * 68k: improved support for Apple’s NuBus, including ability to load declaration ROMs, and slot IRQ support * ARM: macOS hosts with Apple Silicon CPUs now support ‘hvf’ accelerator for AArch64 guests * ARM: emulation support for Fujitsu A64FX processor model * ARM: emulation support for kudo-mbc machine type * ARM: M-profile MVE extension is now supported for Cortex-M55 * ARM: ‘virt’ machine now supports an emulated ITS (Interrupt Translation Service) and supports more than 123 CPUs in emulation mode * ARM: xlnx-zcu102 and xlnx-versal-virt machines now support BBRAM and eFUSE devices * PowerPC: improved POWER10 support for the ‘powernv’ machine type * PowerPC: initial support for POWER10 DD2.0 CPU model * PowerPC: support for FORM2 PAPR NUMA descriptions for ‘pseries’ machine type * RISC-V: support for Zb[abcs] instruction set extensions * RISC-V: support for vhost-user and numa mem options across all boards * RISC-V: SiFive PWM support * x86: support for new Snowridge-v4 CPU model * x86: guest support for Intel SGX * x86: AMD SEV guests now support measurement of kernel binary when doing direct kernel boot (not using a bootloader) * Patches dropped: 9pfs-fix-crash-in-v9fs_walk.patch block-introduce-max_hw_iov-for-use-in-sc.patch hmp-Unbreak-change-vnc.patch hw-acpi-ich9-Add-compat-prop-to-keep-HPC.patch hw-i386-acpi-build-Deny-control-on-PCIe-.patch i386-cpu-Remove-AVX_VNNI-feature-from-Co.patch net-vmxnet3-validate-configuration-value.patch pcie-rename-native-hotplug-to-x-native-h.patch plugins-do-not-limit-exported-symbols-if.patch plugins-execlog-removed-unintended-s-at-.patch qemu-nbd-Change-default-cache-mode-to-wr.patch qemu-sockets-fix-unix-socket-path-copy-a.patch target-arm-Don-t-skip-M-profile-reset-en.patch target-i386-add-missing-bits-to-CR4_RESE.patch tcg-arm-Fix-tcg_out_vec_op-function-sign.patch uas-add-stream-number-sanity-checks.patch vhost-vsock-fix-migration-issue-when-seq.patch virtio-balloon-don-t-start-free-page-hin.patch virtio-mem-pci-Fix-memory-leak-when-crea.patch virtio-net-fix-use-after-unmap-free-for-.patch OBS-URL: https://build.opensuse.org/request/show/941047 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=681
2021-12-17 11:07:39 +01:00
index d59e976d50e7c81c20bbf5b930d1..7f7cedddb36dcc536fc242349882 100644
--- a/migration/savevm.c
+++ b/migration/savevm.c
Accepting request 941047 from home:dfaggioli:devel:Virtualization - Add an audio-oss sub-package - Add some new (mostly documentation) files in the package - Remove option --audio-drv-list because audio is detected by meson automatically in latest version. - Remove options --disable-jemalloc and --disable-tcmalloc which are changed in v6.2.0. - Update to v 6.2.0. For full release notese, see: * https://wiki.qemu.org/ChangeLog/6.2. Be sure to also check the following pages: * https://qemu-project.gitlab.io/qemu/about/removed-features.html * https://qemu-project.gitlab.io/qemu/about/deprecated.html Some notable changes: * virtio-mem: guest memory dumps are now fully supported, along with pre-copy/post-copy migration and background guest snapshots * QMP: support for nw DEVICE_UNPLUG_GUEST_ERROR to detect guest-reported hotplug failures * TCG: improvements to TCG plugin argument syntax, and multi-core support for cache plugin * 68k: improved support for Apple’s NuBus, including ability to load declaration ROMs, and slot IRQ support * ARM: macOS hosts with Apple Silicon CPUs now support ‘hvf’ accelerator for AArch64 guests * ARM: emulation support for Fujitsu A64FX processor model * ARM: emulation support for kudo-mbc machine type * ARM: M-profile MVE extension is now supported for Cortex-M55 * ARM: ‘virt’ machine now supports an emulated ITS (Interrupt Translation Service) and supports more than 123 CPUs in emulation mode * ARM: xlnx-zcu102 and xlnx-versal-virt machines now support BBRAM and eFUSE devices * PowerPC: improved POWER10 support for the ‘powernv’ machine type * PowerPC: initial support for POWER10 DD2.0 CPU model * PowerPC: support for FORM2 PAPR NUMA descriptions for ‘pseries’ machine type * RISC-V: support for Zb[abcs] instruction set extensions * RISC-V: support for vhost-user and numa mem options across all boards * RISC-V: SiFive PWM support * x86: support for new Snowridge-v4 CPU model * x86: guest support for Intel SGX * x86: AMD SEV guests now support measurement of kernel binary when doing direct kernel boot (not using a bootloader) * Patches dropped: 9pfs-fix-crash-in-v9fs_walk.patch block-introduce-max_hw_iov-for-use-in-sc.patch hmp-Unbreak-change-vnc.patch hw-acpi-ich9-Add-compat-prop-to-keep-HPC.patch hw-i386-acpi-build-Deny-control-on-PCIe-.patch i386-cpu-Remove-AVX_VNNI-feature-from-Co.patch net-vmxnet3-validate-configuration-value.patch pcie-rename-native-hotplug-to-x-native-h.patch plugins-do-not-limit-exported-symbols-if.patch plugins-execlog-removed-unintended-s-at-.patch qemu-nbd-Change-default-cache-mode-to-wr.patch qemu-sockets-fix-unix-socket-path-copy-a.patch target-arm-Don-t-skip-M-profile-reset-en.patch target-i386-add-missing-bits-to-CR4_RESE.patch tcg-arm-Fix-tcg_out_vec_op-function-sign.patch uas-add-stream-number-sanity-checks.patch vhost-vsock-fix-migration-issue-when-seq.patch virtio-balloon-don-t-start-free-page-hin.patch virtio-mem-pci-Fix-memory-leak-when-crea.patch virtio-net-fix-use-after-unmap-free-for-.patch OBS-URL: https://build.opensuse.org/request/show/941047 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=681
2021-12-17 11:07:39 +01:00
@@ -2942,7 +2942,7 @@ void qmp_xen_save_devices_state(const char *filename, bool has_live, bool live,
* So call bdrv_inactivate_all (release locks) here to let the other
Accepting request 854151 from home:bfrogers:branches:Virtualization - Update to v5.2.0: See http://wiki.qemu.org/ChangeLog/5.2 Take note that ongoing feature deprecation is tracked at both http://wiki.qemu-project.org/Features/LegacyRemoval and in the deprecated.html file installed with the qemu package Some noteworthy changes: * Dropped system emulators: qemu-system-lm32, qemu-system-unicore32 * Dropped linux user emulator: qemu-ppc64abi32 * Added linux user emulator: qemu-extensaeb * Unicore32 and lm32 guest support dropped * New sub-packages (most due to ongoing modularization of QEMU): qemu-audio-spice, qemu-hw-chardev-spice, qemu-hw-display-virtio-vga, qemu-hw-display-virtio-gpu, qemu-hw-display-virtio-gpu-pci, qemu-ui-spice-core, qemu-ui-opengl, qemu-ivshmem-tools * x86: A new KVM feature which improves the handling of asynchronous page faults is available with -cpu ...,kvm-async-pf-int (requires Linux 5.8) * s390: More instructions emulated under TCG * PowerPC: nvdimm= machine option now functions correctly; misc improvements * ARM: new boards: mps2-an386 (Cortex-M4 based) and mps2-an500 (Cortex-M7 based), raspi3ap (the Pi 3 model A+), raspi0 (the Pi Zero) and raspi1ap (the Pi A+) * RISC-V: OpenSBI v0.8 included by default; Generic OpenSBI platform used when no -bios argument is supplied; Support for NUMA sockets on Virt and Spike Machines; Support for migrating machines; misc improvements * Misc NVMe improvements * The 'vhost-user-blk' export type has been added, allowing qemu-storage-daemon to act as a vhost-user-blk device backend * The SMBIOS OEM strings can now come from a file * 9pfs - misc performance related improvements * virtiofs - misc improvements * migration: The default migration bandwidth has been increased to 1Gbps (users are still encouraged to tune it to their own hardware); The new 'calc-dirty-rate' and 'query-dirty-rate' QMP commands can help determine the likelihood of precopy migration success; TLS+multifd now supported for higher bandwidth encrypted migration; misc minor features added * Misc minor block features added * Misc doc improvements * qemu-microvm subpackage change: the bios-microvm.bin is now SeaBIOS based, and the qboot based on is now qboot.rom * elf2dmp is no longer part of qemu-tools (it was never intended to be a packaged binary) * Some subpackages which were 'Requires' are now 'Recommends', allowing for a smaller qemu packaging footprint if needed * Patches dropped (included in release tarball, unless otherwise noted): docs-fix-trace-docs-build-with-sphinx-3..patch (fixed differently) hw-hyperv-vmbus-Fix-32bit-compilation.patch linux-user-properly-test-for-infinite-ti.patch Switch-order-of-libraries-for-mpath-supp.patch (fixed differently) Conditionalize-ui-bitmap-installation-be.patch (fixed differently) hw-usb-hcd-xhci-Fix-GCC-9-build-warning.patch (no longer using gcc9) hw-usb-dev-mtp-Fix-GCC-9-build-warning.patch (no longer using gcc9) roms-Makefile-enable-cross-compile-for-b.patch (fixed with different patch) libvhost-user-handle-endianness-as-manda.patch virtio-add-vhost-user-fs-ccw-device.patch Fix-s-directive-argument-is-null-error.patch build-Workaround-compilation-error-with-.patch build-Be-explicit-about-fcommon-compiler.patch intel-Avoid-spurious-compiler-warning-on.patch golan-Add-explicit-type-casts-for-nodnic.patch Do-not-apply-WORKAROUND_CFLAGS-for-host-.patch ensure-headers-included-are-compatible-w.patch Enable-cross-compile-prefix-for-C-compil.patch (fixed differently) hw-net-net_tx_pkt-fix-assertion-failure-.patch hw-net-xgmac-Fix-buffer-overflow-in-xgma.patch s390x-protvirt-allow-to-IPL-secure-guest.patch usb-fix-setup_len-init-CVE-2020-14364.patch * Patches added: meson-install-ivshmem-client-and-ivshmem.patch Revert-roms-efirom-tests-uefi-test-tools.patch Makefile-Don-t-check-pc-bios-as-pre-requ.patch roms-Makefile-add-cross-file-to-qboot-me.patch qboot-add-cross.ini-file-to-handle-aarch.patch usb-Help-compiler-out-to-avoid-a-warning.patch - In spec file, where reasonable, switch BuildRequires: XXX-devel to be pkgconfig(XXX') instead - No longer disable link time optimization for qemu for x86. It looks like either the build service, qemu code changes and/or the switch to meson have resolved issues previously seen there. We still see problems for other architectures however. - For the record, the following issues reported for SUSE SLE15-SP2 are either fixed in this current package, or are otherwise no longer an issue: bsc#1172384 bsc#1174386 bsc#1174641 bsc#1174863 bsc#1175370 bsc#1175441 bsc#1176494 CVE-2020-13361 CVE-2020-14364 CVE-2020-15863 CVE-2020-16092 CVE-2020-24352 and the following feature requests are satisfied by this package: jsc#SLE-13689 jsc#SEL-13780 jsc#SLE-13840 - To be more accurate, and to align with other qemu packaging practices, rename the qemu-s390 package to qemu-s390x. The old name (in the rpm namespace) is provided with a "Provides" directive, and an "Obsoletes" done against that name for prior qemu versions, as is standard practice (boo#1177764 jsc#SLE-17060) - Take this opportunity to remove some ancient Split-Provides mechanisms which can't conceivably be needed any more: qemu-block-curl provided: qemu:%_libdir/%name/block-curl.so qemu-guest-agent provided: qemu:%_bindir/qemu-ga qemu-tools provided: qemu:%_libexecdir/qemu-bridge-helper - Disable linux-user 'ls' test on 32 bit arm. It's failing with "Allocating guest commpage: Cannot allocate memory" error, which we should hunt down, but for now we don't want it to prevent the package from being built OBS-URL: https://build.opensuse.org/request/show/854151 OBS-URL: https://build.opensuse.org/package/show/Virtualization/qemu?expand=0&rev=597
2020-12-08 23:01:20 +01:00
* side of the migration take control of the images.
*/
- if (live && !saved_vm_running) {
+ if (!saved_vm_running) {
ret = bdrv_inactivate_all();
if (ret) {
error_setg(errp, "%s: bdrv_inactivate_all() failed (%d)",