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

Reply via email to