From: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
To: svt-core@virtuozzo.com
Cc: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Subject: [PATCH QEMU HCI-8.1 v4 00/31] vfio: support qemu-update with passed through GPU's and vGPU's #VSTOR-103860
Date: Tue, 20 Oct 2026 19:30:40 +0300 [thread overview]
Message-ID: <20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com> (raw)
v3 -> v4:
- Patch 31 (NEW) ("VZ: vfio/container: lift the CPR blocker for mdev
devices"): CPR for mdev vGPUs, needs a kernel which reverts ef3a3f6a294b
Fixes of the issues found by Sashiko AI review.
- Patch 4 (NEW) ("migration/cpr-exec: require a file or exec migration URI"):
a save or a migration issued with the mode parameter left at cpr-exec
after a failed qemu-update ran as cpr-exec and lost the VM
- Patch 5 (NEW) ("migration: close the CPR state if the outgoing channel
fails to open"): the CPR state was leaked when the file or exec URI
couldn't be opened
- Patch 14 -> 16 ("migration: yank: Move register instance earlier"): the
postcopy guard checked a state which is never reset once postcopy was
advised, so every later migrate was refused; the instance is registered
with errp instead of &error_abort
- Patch 18 -> 20 ("kvm: tolerate ioctls after kvm_close()"): kvm_state is
kept allocated and the ioctls return 0 instead of -ENODEV, since
kvm_set_irq() and friends dereference it and abort on an error
- Patch 20 -> 22 ("migration/cpr: add cpr_is_in_progress()"): the outgoing
CPR is told by the open CPR state, not by the runstate, which a snapshot
of a paused VM doesn't change
- Patch 25 -> 27 ("VZ: migration/cpr-exec: take the vhost-net devices back if
exec fails"): the vring call and err fds are set again, VHOST_RESET_OWNER
dropped them too
v3: http://lore.virtuozzo.com/20261016-vfio_v1-v3-0-47487cb5a8e5@virtuozzo.com
---
Akihiko Odaki (1):
vfio/pci: Grow buffer in vfio_pci_host_match()
Andrey Drobyshev (17):
VZ: migration/cpr-exec: fix Error leak in preserve_ram()
migration/cpr-exec: restore RAM write access if exec fails
vfio/region: create BAR dma-bufs with O_CLOEXEC
migration/cpr-exec: require a file or exec migration URI
migration: close the CPR state if the outgoing channel fails to open
kvm: tolerate ioctls after kvm_close()
kvm: fix coalesced MMIO flush racing with kvm_close()
migration/cpr: add cpr_is_in_progress()
vfio/migration: don't migrate device state during CPR
vfio/listener: skip dirty page tracking during CPR
VZ: vfio/cpr: don't close KVM on cpr-exec
VZ: migration/cpr-exec: abort cpr-exec if memory can't be preserved
VZ: migration/cpr-exec: take the vhost-net devices back if exec fails
VZ: migration/cpr-exec: don't exec if a vhost-net device can't be released
VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860
VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860
VZ: vfio/container: lift the CPR blocker for mdev devices #VSTOR-103860
Arun Menon (1):
migration: Fix regression of passing error_fatal into vmstate_load_state()
Cédric Le Goater (2):
vfio/pci: Reject invalid MSI-X Table and PBA BIR values
vfio/pci: Fix information leak in vfio_rom_read()
Fabiano Rosas (3):
migration: yank: Move register instance earlier
migration: Free cpr-transfer MigrationAddress along with gsource
migration: Move CPR HUP watch to cpr-transfer.c
Igor Mammedov (1):
q35: Fix migration of SMRAM state
Mario Casquero (1):
vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom()
Markus Armbruster (1):
migration: Plug memory leaks after migrate_set_error()
Peter Xu (1):
migration: Fix crash on second migration when cancel early
Tycho Andersen (AMD) (1):
hw/vfio: Fix liveness check in vfio_connect_kvm_msi_virq()
Vladimir Sementsov-Ogievskiy (1):
migration: vmstate_save_state_v: fix double error_setg
Yanfei Xu (1):
migration: ensure APIC is loaded prior to VFIO PCI devices
accel/kvm/kvm-all.c | 24 ++++++++-
hw/display/virtio-gpu.c | 22 ++++++---
hw/intc/apic_common.c | 1 +
hw/net/vhost_net.c | 62 +++++++++++++++++++++--
hw/pci-host/q35.c | 25 +++++-----
hw/pci/pci.c | 15 +++++-
hw/s390x/virtio-ccw.c | 17 ++++++-
hw/scsi/spapr_vscsi.c | 10 +++-
hw/vfio/container-legacy.c | 13 -----
hw/vfio/cpr.c | 11 +++--
hw/vfio/device.c | 29 ++++++++---
hw/vfio/listener.c | 6 +++
hw/vfio/migration-multifd.c | 2 +
hw/vfio/migration.c | 38 ++++++++++++++-
hw/vfio/pci.c | 25 +++++++---
hw/vfio/region.c | 47 +++++++++++++++++-
hw/virtio/virtio-mmio.c | 15 +++++-
hw/virtio/virtio-pci.c | 15 +++++-
hw/virtio/virtio.c | 10 ++--
include/hw/vfio/vfio-cpr.h | 2 +-
include/hw/vfio/vfio-device.h | 2 -
include/hw/virtio/vhost.h | 2 +
include/migration/cpr.h | 7 +++
include/migration/vmstate.h | 1 +
include/net/vhost_net.h | 3 +-
migration/cpr-exec.c | 40 +++++++++++++--
migration/cpr-transfer.c | 33 +++++++++++++
migration/cpr.c | 22 +++++++++
migration/migration.c | 111 +++++++++++++++++++++++-------------------
migration/migration.h | 5 ++
migration/multifd.c | 2 +
migration/vmstate.c | 7 ++-
tests/qtest/q35-test.c | 6 ---
33 files changed, 492 insertions(+), 138 deletions(-)
---
base-commit: f3c1d9ef263edfab8d2a273078493bb766dcf8f8
change-id: 20261009-vfio_v1-a176cddd6b64
Best regards,
--
Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
next reply other threads:[~2026-10-20 16:30 UTC|newest]
Thread overview: 63+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-10-20 16:30 Andrey Drobyshev [this message]
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 01/31] VZ: migration/cpr-exec: fix Error leak in preserve_ram() Andrey Drobyshev
2026-10-20 16:34 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 02/31] migration/cpr-exec: restore RAM write access if exec fails Andrey Drobyshev
2026-10-20 16:34 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 03/31] vfio/region: create BAR dma-bufs with O_CLOEXEC Andrey Drobyshev
2026-10-20 16:35 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 04/31] migration/cpr-exec: require a file or exec migration URI Andrey Drobyshev
2026-10-20 16:37 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 05/31] migration: close the CPR state if the outgoing channel fails to open Andrey Drobyshev
2026-10-20 16:38 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 06/31] migration: Plug memory leaks after migrate_set_error() Andrey Drobyshev
2026-10-20 16:38 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 07/31] hw/vfio: Fix liveness check in vfio_connect_kvm_msi_virq() Andrey Drobyshev
2026-10-20 16:38 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 08/31] vfio/pci: Reject invalid MSI-X Table and PBA BIR values Andrey Drobyshev
2026-10-20 16:38 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 09/31] vfio/pci: Fix information leak in vfio_rom_read() Andrey Drobyshev
2026-10-20 16:39 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 10/31] vfio/pci: Initialize rom_read_failed in vfio_pci_load_rom() Andrey Drobyshev
2026-10-20 16:40 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 11/31] vfio/pci: Grow buffer in vfio_pci_host_match() Andrey Drobyshev
2026-10-20 16:39 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 12/31] q35: Fix migration of SMRAM state Andrey Drobyshev
2026-10-20 16:41 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 13/31] migration: ensure APIC is loaded prior to VFIO PCI devices Andrey Drobyshev
2026-10-20 16:40 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 14/31] migration: Fix regression of passing error_fatal into vmstate_load_state() Andrey Drobyshev
2026-10-20 16:43 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 15/31] migration: vmstate_save_state_v: fix double error_setg Andrey Drobyshev
2026-10-20 16:45 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 16/31] migration: yank: Move register instance earlier Andrey Drobyshev
2026-10-20 16:47 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 17/31] migration: Free cpr-transfer MigrationAddress along with gsource Andrey Drobyshev
2026-10-20 16:47 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 18/31] migration: Move CPR HUP watch to cpr-transfer.c Andrey Drobyshev
2026-10-20 16:48 ` no-reply
2026-10-20 16:30 ` [PATCH QEMU HCI-8.1 v4 19/31] migration: Fix crash on second migration when cancel early Andrey Drobyshev
2026-10-20 16:52 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 20/31] kvm: tolerate ioctls after kvm_close() Andrey Drobyshev
2026-10-20 16:52 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 21/31] kvm: fix coalesced MMIO flush racing with kvm_close() Andrey Drobyshev
2026-10-20 16:54 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 22/31] migration/cpr: add cpr_is_in_progress() Andrey Drobyshev
2026-10-20 16:54 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 23/31] vfio/migration: don't migrate device state during CPR Andrey Drobyshev
2026-10-20 17:00 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 24/31] vfio/listener: skip dirty page tracking " Andrey Drobyshev
2026-10-20 16:59 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 25/31] VZ: vfio/cpr: don't close KVM on cpr-exec Andrey Drobyshev
2026-10-20 17:01 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 26/31] VZ: migration/cpr-exec: abort cpr-exec if memory can't be preserved Andrey Drobyshev
2026-10-20 17:02 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 27/31] VZ: migration/cpr-exec: take the vhost-net devices back if exec fails Andrey Drobyshev
2026-10-20 17:03 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 28/31] VZ: migration/cpr-exec: don't exec if a vhost-net device can't be released Andrey Drobyshev
2026-10-20 17:03 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 29/31] VZ: vfio/region: preserve BAR mappings across cpr-exec #VSTOR-103860 Andrey Drobyshev
2026-10-20 17:08 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 30/31] VZ: migration/cpr-exec: allow cpr-exec with VFIO devices #VSTOR-103860 Andrey Drobyshev
2026-10-20 17:04 ` no-reply
2026-10-20 16:31 ` [PATCH QEMU HCI-8.1 v4 31/31] VZ: vfio/container: lift the CPR blocker for mdev " Andrey Drobyshev
2026-10-20 17:06 ` no-reply
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20261020-vfio_v1-v4-0-83a5668230e5@virtuozzo.com \
--to=andrey.drobyshev@virtuozzo.com \
--cc=svt-core@virtuozzo.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox