v7 -> v8:
* Patch 1:
- move the error handling into vfio_cpr_group_get_device_fd() so that
it always sets errp on failure;
- reword the comment in cpr_fd_hash_insert();
- make cpr_resave_fd() check for a missing entry instead of fd < 0;
- drop Cédric's R-b because of the rework.
* Patch 4 (NEW):
- forbid snapshots under Xen.
* Patch 4->5:
- move the snapshot rejection test into the --full set.
v7:
https://lore.kernel.org/qemu-devel/[email protected]
Signed-off-by: Andrey Drobyshev <[email protected]>
---
Andrey Drobyshev (17):
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-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
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 | 57 ++++--
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 | 61 ++++++
include/migration/cpr.h | 2 +-
migration/cpr.c | 64 ++++---
migration/options.c | 13 ++
system/physmem.c | 5 +-
tests/functional/x86_64/meson.build | 2 +
tests/functional/x86_64/test_vhost_vsock_cpr.py | 245 ++++++++++++++++++++++++
tests/qtest/migration/cpr-tests.c | 129 ++++++++++++-
tests/unit/meson.build | 1 +
tests/unit/test-cpr.c | 98 ++++++++++
23 files changed, 866 insertions(+), 81 deletions(-)
---
base-commit: 81ce3a87737aa50716c42db8886082d12783e0a1
change-id: 20260908-up-vsock-vhost-v5-c781b39f1c1a
Best regards,
--
Andrey Drobyshev <[email protected]>