diff options
author | Kevin Wolf <kwolf@redhat.com> | 2021-07-05 19:14:29 +0200 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2021-07-09 12:26:05 +0200 |
commit | 84affad1fd4c5251d7cccf4df43b29e9157983a9 (patch) | |
tree | 2a6ba36736ec1ac14a7d437959aa8236bb104b2c /hw | |
parent | 6d2f38eb0e2be86af6904f1b768575cc64be37c2 (diff) | |
download | qemu-84affad1fd4c5251d7cccf4df43b29e9157983a9.zip qemu-84affad1fd4c5251d7cccf4df43b29e9157983a9.tar.gz qemu-84affad1fd4c5251d7cccf4df43b29e9157983a9.tar.bz2 |
vhost-user: Fix backends without multiqueue support
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>
Message-Id: <20210705171429.29286-1-kwolf@redhat.com>
Reviewed-by: Cornelia Huck <cohuck@redhat.com>
Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw')
-rw-r--r-- | hw/virtio/vhost-user.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/hw/virtio/vhost-user.c b/hw/virtio/vhost-user.c index 1ac4a2e..29ea2b4 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); |