diff options
| author | Pavel Tikhomirov <ptikhomirov@virtuozzo.com> | 2026-07-24 14:45:42 +0300 |
|---|---|---|
| committer | Michael S. Tsirkin <mst@redhat.com> | 2026-09-17 11:39:30 -0400 |
| commit | 8f2c2fb94a01320e5136c6e89a47fb12355ad27c (patch) | |
| tree | 3d6119f32f6f816487bf30b00ad5096f9322263e /include/uapi/linux | |
| parent | 5efd97e6f0c745d5cb34e4e3b709200e23d4d7b7 (diff) | |
| download | linux-next-8f2c2fb94a01320e5136c6e89a47fb12355ad27c.tar.gz linux-next-8f2c2fb94a01320e5136c6e89a47fb12355ad27c.zip | |
vhost/vsock: add VHOST_RESET_OWNER ioctl
This ioctl is needed for QEMU's CPR (checkpoint-restore) migration of
the guest with vhost-vsock device. For this to work, we need to reset
the device ownership on the source side by calling RESET_OWNER, and then
claim it on the dest side by calling SET_OWNER. We expect not to lose any
AF_VSOCK connection while this happens.
To that end, unlike the release path, RESET_OWNER keeps the guest CID
hashed: established connections survive, and host sends issued while
the device is between owners simply stay on send_pkt_queue until the
next device start drains them.
Since the device stays reachable through the CID hash, the lockless
send/cancel paths can race with the worker teardown in
vhost_workers_free(). The previous commit ("vhost: synchronize with
RCU readers when freeing workers") makes that safe.
Signed-off-by: Pavel Tikhomirov <ptikhomirov@virtuozzo.com>
Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com>
Reviewed-by: Stefano Garzarella <sgarzare@redhat.com>
Acked-by: Michael S. Tsirkin <mst@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Message-ID: <20260724114542.734623-6-andrey.drobyshev@virtuozzo.com>
Diffstat (limited to 'include/uapi/linux')
0 files changed, 0 insertions, 0 deletions
