On 9/7/26 4:58 PM, Stefano Garzarella wrote: > On Thu, Aug 20, 2026 at 02:39:47PM +0300, Andrey Drobyshev wrote: >> Add a VhostOps callback issuing VHOST_RESET_OWNER, wired up for the kernel >> backend. The CPR (checkpoint-restore) path uses it to release device >> ownership on the source so the destination can reclaim it later with >> VHOST_SET_OWNER. >> >> Originally-by: Mark Kanda <[email protected]> >> Originally-by: Steve Sistare <[email protected]> >> Originally-by: Ben Chaney <[email protected]> >> Signed-off-by: Andrey Drobyshev <[email protected]> >> --- >> hw/virtio/vhost-kernel.c | 6 ++++++ >> include/hw/virtio/vhost-backend.h | 1 + >> 2 files changed, 7 insertions(+) >> >> diff --git a/hw/virtio/vhost-kernel.c b/hw/virtio/vhost-kernel.c >> index 3390b48c6f1..55d316b88e9 100644 >> --- a/hw/virtio/vhost-kernel.c >> +++ b/hw/virtio/vhost-kernel.c >> @@ -261,6 +261,11 @@ static int vhost_kernel_set_owner(struct vhost_dev *dev) >> return vhost_kernel_call(dev, VHOST_SET_OWNER, NULL); >> } >> >> +static int vhost_kernel_reset_owner(struct vhost_dev *dev) >> +{ >> + return vhost_kernel_call(dev, VHOST_RESET_OWNER, NULL); >> +} >> + >> static int vhost_kernel_get_vq_index(struct vhost_dev *dev, int idx) >> { >> assert(idx >= dev->vq_index && idx < dev->vq_index + dev->nvqs); >> @@ -385,6 +390,7 @@ const VhostOps kernel_ops = { >> .vhost_get_features_ex = vhost_kernel_get_features, >> .vhost_set_backend_cap = vhost_kernel_set_backend_cap, >> .vhost_set_owner = vhost_kernel_set_owner, >> + .vhost_reset_owner = vhost_kernel_reset_owner, >> .vhost_get_vq_index = vhost_kernel_get_vq_index, >> .vhost_vsock_set_guest_cid = vhost_kernel_vsock_set_guest_cid, >> .vhost_vsock_set_running = vhost_kernel_vsock_set_running, >> diff --git a/include/hw/virtio/vhost-backend.h >> b/include/hw/virtio/vhost-backend.h >> index d878d7b733a..6c949e6a38d 100644 >> --- a/include/hw/virtio/vhost-backend.h >> +++ b/include/hw/virtio/vhost-backend.h >> @@ -204,6 +204,7 @@ typedef struct VhostOps { >> vhost_get_features_op vhost_get_features; >> vhost_set_backend_cap_op vhost_set_backend_cap; >> vhost_set_owner_op vhost_set_owner; >> + vhost_set_owner_op vhost_reset_owner; > > Should we introduce `vhost_reset_owner_op` ? > > Stefano
You're right of course, I overlooked it. Thanks for noticing! Andrey
