Reviewed-by: Raphael Norwitz <[email protected]>
On Thu, Oct 16, 2025 at 7:50 AM Vladimir Sementsov-Ogievskiy <[email protected]> wrote: > > We'll split vhost_dev_init() into _init() and _connect(), to be able > to postpone communication with backend, to support backend-transfer > migration of vhost-user-blk in future commit. > > So, instead of passing it through parameters, store it in vhost_dev > structure. > > Signed-off-by: Vladimir Sementsov-Ogievskiy <[email protected]> > --- > hw/virtio/vhost.c | 11 +++++------ > include/hw/virtio/vhost.h | 1 + > 2 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/hw/virtio/vhost.c b/hw/virtio/vhost.c > index 7ba90c24db..9fc6e7ba65 100644 > --- a/hw/virtio/vhost.c > +++ b/hw/virtio/vhost.c > @@ -1501,8 +1501,7 @@ static void > vhost_virtqueue_error_notifier(EventNotifier *n) > } > > static int vhost_virtqueue_init(struct vhost_dev *dev, > - struct vhost_virtqueue *vq, int n, > - bool busyloop_timeout) > + struct vhost_virtqueue *vq, int n) > { > int vhost_vq_index = dev->vhost_ops->vhost_get_vq_index(dev, n); > struct vhost_vring_file file = { > @@ -1539,8 +1538,8 @@ static int vhost_virtqueue_init(struct vhost_dev *dev, > vhost_virtqueue_error_notifier); > } > > - if (busyloop_timeout) { > - r = vhost_virtqueue_set_busyloop_timeout(dev, n, busyloop_timeout); > + if (dev->busyloop_timeout) { > + r = vhost_virtqueue_set_busyloop_timeout(dev, n, > dev->busyloop_timeout); > if (r < 0) { > VHOST_OPS_DEBUG(r, "Failed to set busyloop timeout"); > goto fail_err; > @@ -1628,6 +1627,7 @@ int vhost_dev_init(struct vhost_dev *hdev, void *opaque, > > hdev->vdev = NULL; > hdev->migration_blocker = NULL; > + hdev->busyloop_timeout = busyloop_timeout; > > r = vhost_set_backend_type(hdev, backend_type); > assert(r >= 0); > @@ -1650,8 +1650,7 @@ int vhost_dev_init(struct vhost_dev *hdev, void *opaque, > } > > for (i = 0; i < hdev->nvqs; ++i, ++n_initialized_vqs) { > - r = vhost_virtqueue_init(hdev, hdev->vqs + i, hdev->vq_index + i, > - busyloop_timeout); > + r = vhost_virtqueue_init(hdev, hdev->vqs + i, hdev->vq_index + i); > if (r < 0) { > error_setg_errno(errp, -r, "Failed to initialize virtqueue %d", > i); > goto fail; > diff --git a/include/hw/virtio/vhost.h b/include/hw/virtio/vhost.h > index 1ba1af1d86..f1a7e7b971 100644 > --- a/include/hw/virtio/vhost.h > +++ b/include/hw/virtio/vhost.h > @@ -105,6 +105,7 @@ struct vhost_dev { > VIRTIO_DECLARE_FEATURES(_features); > VIRTIO_DECLARE_FEATURES(acked_features); > > + uint32_t busyloop_timeout; > uint64_t max_queues; > uint64_t backend_cap; > /* @started: is the vhost device started? */ > -- > 2.48.1 > >
