v13 -> v14:
* Patches 16, 17:
- reworked per Peter's suggestion: instead of a dedicated notifier
list for the incoming migration failure, add MIG_EVENT_INCOMING_FAILED
to the existing migration notifiers and let vhost register for it;
* Patches 15, 17, 18:
- report a failure to release the ownership instead of ignoring it.
v13:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Andrey Drobyshev <[email protected]>
---
Andrey Drobyshev (22):
migration/cpr: forbid saving duplicate CprFds into hash table
tests/unit: add test for duplicate keys in CPR FD table
migration: forbid snapshots in CPR migration modes
migration: forbid snapshots under Xen
tests/qtest/migration: add test for snapshot rejection in CPR modes
vhost-vsock: block CPR migration modes
vhost: add vhost_reset_owner op
vhost-vsock: don't reset connections during CPR
vhost-vsock: fix FD leak in realize()
vhost-vsock: preserve vhost FD during CPR
vhost: factor out vhost_dev_init_backend()
vhost: make vhost_dev_cleanup() safe on a partially initialized device
vhost: add vhost_dev_set_owner() / vhost_dev_reset_owner() helpers
vhost: add vhost_dev_is_initialized() helper
vhost: release ownership in vhost_dev_cleanup()
migration: add MIG_EVENT_INCOMING_FAILED
vhost: release ownership when the incoming migration fails
vhost: release ownership on exit
vhost-vsock: hand off device ownership across CPR
tests/qtest/migration: add vhost-vsock tests for cpr-transfer and cpr-exec
tests/functional: add vhost-vsock CPR test with a live guest
tests/functional: cover a cpr-transfer target going away with vhost-vsock
backends/hostmem-memfd.c | 5 +-
backends/hostmem-shm.c | 5 +-
backends/iommufd.c | 4 +-
hw/vfio/container-legacy.c | 7 +-
hw/vfio/cpr-legacy.c | 29 +-
hw/vfio/cpr.c | 6 +-
hw/vfio/pci.c | 5 +-
hw/virtio/vhost-kernel.c | 6 +
hw/virtio/vhost-vsock.c | 193 ++++++++++++-
hw/virtio/vhost.c | 124 ++++++++-
include/hw/vfio/vfio-cpr.h | 7 +-
include/hw/virtio/vhost-backend.h | 2 +
include/hw/virtio/vhost-vsock.h | 1 +
include/hw/virtio/vhost.h | 74 +++++
include/migration/cpr.h | 2 +-
include/migration/misc.h | 5 +
migration/cpr.c | 64 +++--
migration/migration.c | 10 +
migration/options.c | 13 +
system/physmem.c | 5 +-
tests/functional/x86_64/meson.build | 2 +
tests/functional/x86_64/test_vhost_vsock_cpr.py | 347 ++++++++++++++++++++++++
tests/qtest/migration/cpr-tests.c | 133 ++++++++-
tests/unit/meson.build | 1 +
tests/unit/test-cpr.c | 98 +++++++
25 files changed, 1067 insertions(+), 81 deletions(-)
---
base-commit: f7ada39edacaa5c26b30e98b94017b0b2ccbcf94
change-id: 20260908-up-vsock-vhost-v5-c781b39f1c1a
Best regards,
--
Andrey Drobyshev <[email protected]>