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
