[PATCH v4 00/10] migration/cpr: support vhost-vsock devices

Andrey Drobyshev posted 10 patches 1 day, 9 hours ago
Patches applied successfully (tree, apply log)
git fetch https://github.com/patchew-project/qemu tags/patchew/20260820113955.509478-1-andrey.drobyshev@virtuozzo.com
Maintainers: "Michael S. Tsirkin" <mst@redhat.com>, Stefano Garzarella <sgarzare@redhat.com>
hw/virtio/vhost-kernel.c          |   6 +
hw/virtio/vhost-vsock.c           | 220 +++++++++++++++++++++++++++---
hw/virtio/vhost.c                 |  57 ++++++--
include/hw/virtio/vhost-backend.h |   1 +
include/hw/virtio/vhost-vsock.h   |   4 +
include/hw/virtio/vhost.h         |  49 +++++++
6 files changed, 307 insertions(+), 30 deletions(-)
[PATCH v4 00/10] migration/cpr: support vhost-vsock devices
Posted by Andrey Drobyshev 1 day, 9 hours ago
v4 is mostly fixes suggested by Stefano.

v3 -> v4:

  * Patch 1 (NEW) ("vhost-vsock: block CPR migration modes"): block the
    CPR modes until the support is fully in place.  Make mid-series CPR
    attempts fail early and gracefully instead of crashing;
  * Patch 2 -> 3 ("vhost-vsock: don't reset connections during CPR"):
    write vhost_vsock_post_load() in its final shape, not defer to the
    last patch;
  * Patch 4 -> 5 ("vhost-vsock: preserve vhost FD during CPR"): reword
    commit message;
  * Patch 5 -> 6 ("vhost: factor out vhost_dev_init_backend()"):
    document vhost_dev_cleanup() on error;
  * Patch 7 (NEW) ("vhost: make vhost_dev_cleanup() safe on a partially
    initialized device"): split the vq->dev NULL check out of the
    ownership handoff patch;
  * Patch 9 (NEW) ("vhost: add vhost_dev_is_initialized() helper"): add
    an explicit 'initialized' field to struct vhost_dev instead of
    relying on hdev->mem;
  * Patch 7 -> 10 ("vhost-vsock: hand off device ownership across CPR"):
    - make the start guard in vhost_vsock_set_status() check
      vhost_dev_is_initialized() and vsock->owner_reset instead of
      vhost_dev.mem;
    - call vhost_dev_cleanup() if setting the guest cid fails in
      post_load;
    - lift the CPR blocker (narrow it to the ID-less case);
    - reword commit message.

v3: https://lore.kernel.org/qemu-devel/20260626164643.2526-1-andrey.drobyshev@virtuozzo.com

Andrey Drobyshev (10):
  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

 hw/virtio/vhost-kernel.c          |   6 +
 hw/virtio/vhost-vsock.c           | 220 +++++++++++++++++++++++++++---
 hw/virtio/vhost.c                 |  57 ++++++--
 include/hw/virtio/vhost-backend.h |   1 +
 include/hw/virtio/vhost-vsock.h   |   4 +
 include/hw/virtio/vhost.h         |  49 +++++++
 6 files changed, 307 insertions(+), 30 deletions(-)

-- 
2.47.1