diff options
| author | Kevin Wolf <kwolf@redhat.com> | 2021-06-09 08:46:54 -0700 |
|---|---|---|
| committer | Kevin Wolf <kwolf@redhat.com> | 2021-06-30 13:16:05 +0200 |
| commit | f2a6e6c4fa1f0d8ca847eecdb4d955b5770c057f (patch) | |
| tree | 8df0f2c77e5e6c13468bb0cf6488c7561922c69c /hw/virtio/vhost-vdpa.c | |
| parent | 28770ff935bce723c5799d292bc788770b69a733 (diff) | |
| download | focaccia-qemu-f2a6e6c4fa1f0d8ca847eecdb4d955b5770c057f.tar.gz focaccia-qemu-f2a6e6c4fa1f0d8ca847eecdb4d955b5770c057f.zip | |
vhost: Return 0/-errno in vhost_dev_init()
Instead of just returning 0/-1 and letting the caller make up a meaningless error message, switch to 0/-errno so that different kinds of errors can be distinguished in the caller. This involves changing a few more callbacks in VhostOps to return 0/-errno: .vhost_set_owner(), .vhost_get_features() and .vhost_virtqueue_set_busyloop_timeout(). The implementations of these functions are trivial as they generally just send a message to the backend. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Message-Id: <20210609154658.350308-4-kwolf@redhat.com> Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Reviewed-by: Raphael Norwitz <raphael.norwitz@nutanix.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Diffstat (limited to 'hw/virtio/vhost-vdpa.c')
| -rw-r--r-- | hw/virtio/vhost-vdpa.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/hw/virtio/vhost-vdpa.c b/hw/virtio/vhost-vdpa.c index 80827ee040..0f469f1823 100644 --- a/hw/virtio/vhost-vdpa.c +++ b/hw/virtio/vhost-vdpa.c @@ -245,10 +245,12 @@ static int vhost_vdpa_call(struct vhost_dev *dev, unsigned long int request, { struct vhost_vdpa *v = dev->opaque; int fd = v->device_fd; + int ret; assert(dev->vhost_ops->backend_type == VHOST_BACKEND_TYPE_VDPA); - return ioctl(fd, request, arg); + ret = ioctl(fd, request, arg); + return ret < 0 ? -errno : ret; } static void vhost_vdpa_add_status(struct vhost_dev *dev, uint8_t status) |