v12 -> v13:
Fixes for ownership issues reported by Akihiko.
* Patch 16:
- call the failure notifiers before the FAILED state is set, so that
the ownership is released before the MIGRATION event is emitted as
well;
* Patch 18 (NEW):
- bring back the exit notifier from v11: a target which has loaded
the state but hasn't been started quit normally, with the source
resumed instea. Then devices aren't unrealized on quit, so the
ownership has to be released on exit;
* Patch 22:
- add a test case for the above -S / qmp_quit case.
v12:
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 incoming migration failure notifiers
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 | 122 ++++++++-
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 | 7 +
migration/cpr.c | 64 +++--
migration/migration.c | 22 ++
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, 1079 insertions(+), 81 deletions(-)
---
base-commit: f7ada39edacaa5c26b30e98b94017b0b2ccbcf94
change-id: 20260908-up-vsock-vhost-v5-c781b39f1c1a
Best regards,
--
Andrey Drobyshev <[email protected]>