dev->max_queues was never initialised for backends that don't support
VHOST_USER_PROTOCOL_F_MQ, so it would use 0 as the maximum number of
queues to check against and consequently fail for any such backend.
Set it to 1 if the backend doesn't have multiqueue support.
Fixes: c90bd505a3e8210c23d69fecab9ee6f56ec4a161
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
---
hw/virtio/vhost-user.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c
index 1ac4a2ebec..29ea2b4fce 100644
--- a/hw/virtio/vhost-user.c
+++ b/hw/virtio/vhost-user.c
@@ -1913,7 +1913,10 @@ static int vhost_user_backend_init(struct vhost_dev *dev, void *opaque,
if (err < 0) {
return -EPROTO;
}
+ } else {
+ dev->max_queues = 1;
}
+
if (dev->num_queues && dev->max_queues < dev->num_queues) {
error_setg(errp, "The maximum number of queues supported by the "
"backend is %" PRIu64, dev->max_queues);
--
2.31.1
On Mon, Jul 05 2021, Kevin Wolf <kwolf@redhat.com> wrote: > dev->max_queues was never initialised for backends that don't support > VHOST_USER_PROTOCOL_F_MQ, so it would use 0 as the maximum number of > queues to check against and consequently fail for any such backend. > > Set it to 1 if the backend doesn't have multiqueue support. > > Fixes: c90bd505a3e8210c23d69fecab9ee6f56ec4a161 > Signed-off-by: Kevin Wolf <kwolf@redhat.com> > --- > hw/virtio/vhost-user.c | 3 +++ > 1 file changed, 3 insertions(+) Reviewed-by: Cornelia Huck <cohuck@redhat.com>
On Mon, Jul 05, 2021 at 07:14:29PM +0200, Kevin Wolf wrote: > dev->max_queues was never initialised for backends that don't support > VHOST_USER_PROTOCOL_F_MQ, so it would use 0 as the maximum number of > queues to check against and consequently fail for any such backend. > > Set it to 1 if the backend doesn't have multiqueue support. > > Fixes: c90bd505a3e8210c23d69fecab9ee6f56ec4a161 > Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com> > --- > hw/virtio/vhost-user.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c > index 1ac4a2ebec..29ea2b4fce 100644 > --- a/hw/virtio/vhost-user.c > +++ b/hw/virtio/vhost-user.c > @@ -1913,7 +1913,10 @@ static int vhost_user_backend_init(struct vhost_dev *dev, void *opaque, > if (err < 0) { > return -EPROTO; > } > + } else { > + dev->max_queues = 1; > } > + > if (dev->num_queues && dev->max_queues < dev->num_queues) { > error_setg(errp, "The maximum number of queues supported by the " > "backend is %" PRIu64, dev->max_queues); > -- > 2.31.1 >
© 2016 - 2024 Red Hat, Inc.