virtqueue_error includes queue index in the error output and is preferred
for errors that pertain to a virtqueue rather than to the device as a whole.
Signed-off-by: Ladi Prosek <lprosek@redhat.com>
---
hw/9pfs/virtio-9p-device.c | 37 +++++++++++++++----------------------
1 file changed, 15 insertions(+), 22 deletions(-)
diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
index 62650b0..cf16b4b 100644
--- a/hw/9pfs/virtio-9p-device.c
+++ b/hw/9pfs/virtio-9p-device.c
@@ -54,16 +54,16 @@ static void handle_9p_output(VirtIODevice *vdev, VirtQueue *vq)
}
if (iov_size(elem->in_sg, elem->in_num) < 7) {
- virtio_error(vdev,
- "The guest sent a VirtFS request without space for "
- "the reply");
+ virtqueue_error(vq,
+ "The guest sent a VirtFS request without space for "
+ "the reply");
goto out_free_req;
}
len = iov_to_buf(elem->out_sg, elem->out_num, 0, &out, 7);
if (len != 7) {
- virtio_error(vdev, "The guest sent a malformed VirtFS request: "
- "header size is %zd, should be 7", len);
+ virtqueue_error(vq, "The guest sent a malformed VirtFS request: "
+ "header size is %zd, should be 7", len);
goto out_free_req;
}
@@ -150,10 +150,8 @@ static ssize_t virtio_pdu_vmarshal(V9fsPDU *pdu, size_t offset,
ret = v9fs_iov_vmarshal(elem->in_sg, elem->in_num, offset, 1, fmt, ap);
if (ret < 0) {
- VirtIODevice *vdev = VIRTIO_DEVICE(v);
-
- virtio_error(vdev, "Failed to encode VirtFS reply type %d",
- pdu->id + 1);
+ virtqueue_error(v->vq, "Failed to encode VirtFS reply type %d",
+ pdu->id + 1);
}
return ret;
}
@@ -168,9 +166,8 @@ static ssize_t virtio_pdu_vunmarshal(V9fsPDU *pdu, size_t offset,
ret = v9fs_iov_vunmarshal(elem->out_sg, elem->out_num, offset, 1, fmt, ap);
if (ret < 0) {
- VirtIODevice *vdev = VIRTIO_DEVICE(v);
-
- virtio_error(vdev, "Failed to decode VirtFS request type %d", pdu->id);
+ virtqueue_error(v->vq, "Failed to decode VirtFS request type %d",
+ pdu->id);
}
return ret;
}
@@ -184,11 +181,9 @@ static void virtio_init_in_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov,
size_t buf_size = iov_size(elem->in_sg, elem->in_num);
if (buf_size < size) {
- VirtIODevice *vdev = VIRTIO_DEVICE(v);
-
- virtio_error(vdev,
- "VirtFS reply type %d needs %zu bytes, buffer has %zu",
- pdu->id + 1, size, buf_size);
+ virtqueue_error(v->vq,
+ "VirtFS reply type %d needs %zu bytes, buffer has %zu",
+ pdu->id + 1, size, buf_size);
}
*piov = elem->in_sg;
@@ -204,11 +199,9 @@ static void virtio_init_out_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov,
size_t buf_size = iov_size(elem->out_sg, elem->out_num);
if (buf_size < size) {
- VirtIODevice *vdev = VIRTIO_DEVICE(v);
-
- virtio_error(vdev,
- "VirtFS request type %d needs %zu bytes, buffer has %zu",
- pdu->id, size, buf_size);
+ virtqueue_error(v->vq,
+ "VirtFS request type %d needs %zu bytes, "
+ "buffer has %zu", pdu->id, size, buf_size);
}
*piov = elem->out_sg;
--
2.9.3
On Thu, 13 Jul 2017 13:02:33 +0200
Ladi Prosek <lprosek@redhat.com> wrote:
> virtqueue_error includes queue index in the error output and is preferred
> for errors that pertain to a virtqueue rather than to the device as a whole.
>
> Signed-off-by: Ladi Prosek <lprosek@redhat.com>
> ---
Acked-by: Greg Kurz <groug@kaod.org>
> hw/9pfs/virtio-9p-device.c | 37 +++++++++++++++----------------------
> 1 file changed, 15 insertions(+), 22 deletions(-)
>
> diff --git a/hw/9pfs/virtio-9p-device.c b/hw/9pfs/virtio-9p-device.c
> index 62650b0..cf16b4b 100644
> --- a/hw/9pfs/virtio-9p-device.c
> +++ b/hw/9pfs/virtio-9p-device.c
> @@ -54,16 +54,16 @@ static void handle_9p_output(VirtIODevice *vdev, VirtQueue *vq)
> }
>
> if (iov_size(elem->in_sg, elem->in_num) < 7) {
> - virtio_error(vdev,
> - "The guest sent a VirtFS request without space for "
> - "the reply");
> + virtqueue_error(vq,
> + "The guest sent a VirtFS request without space for "
> + "the reply");
> goto out_free_req;
> }
>
> len = iov_to_buf(elem->out_sg, elem->out_num, 0, &out, 7);
> if (len != 7) {
> - virtio_error(vdev, "The guest sent a malformed VirtFS request: "
> - "header size is %zd, should be 7", len);
> + virtqueue_error(vq, "The guest sent a malformed VirtFS request: "
> + "header size is %zd, should be 7", len);
> goto out_free_req;
> }
>
> @@ -150,10 +150,8 @@ static ssize_t virtio_pdu_vmarshal(V9fsPDU *pdu, size_t offset,
>
> ret = v9fs_iov_vmarshal(elem->in_sg, elem->in_num, offset, 1, fmt, ap);
> if (ret < 0) {
> - VirtIODevice *vdev = VIRTIO_DEVICE(v);
> -
> - virtio_error(vdev, "Failed to encode VirtFS reply type %d",
> - pdu->id + 1);
> + virtqueue_error(v->vq, "Failed to encode VirtFS reply type %d",
> + pdu->id + 1);
> }
> return ret;
> }
> @@ -168,9 +166,8 @@ static ssize_t virtio_pdu_vunmarshal(V9fsPDU *pdu, size_t offset,
>
> ret = v9fs_iov_vunmarshal(elem->out_sg, elem->out_num, offset, 1, fmt, ap);
> if (ret < 0) {
> - VirtIODevice *vdev = VIRTIO_DEVICE(v);
> -
> - virtio_error(vdev, "Failed to decode VirtFS request type %d", pdu->id);
> + virtqueue_error(v->vq, "Failed to decode VirtFS request type %d",
> + pdu->id);
> }
> return ret;
> }
> @@ -184,11 +181,9 @@ static void virtio_init_in_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov,
> size_t buf_size = iov_size(elem->in_sg, elem->in_num);
>
> if (buf_size < size) {
> - VirtIODevice *vdev = VIRTIO_DEVICE(v);
> -
> - virtio_error(vdev,
> - "VirtFS reply type %d needs %zu bytes, buffer has %zu",
> - pdu->id + 1, size, buf_size);
> + virtqueue_error(v->vq,
> + "VirtFS reply type %d needs %zu bytes, buffer has %zu",
> + pdu->id + 1, size, buf_size);
> }
>
> *piov = elem->in_sg;
> @@ -204,11 +199,9 @@ static void virtio_init_out_iov_from_pdu(V9fsPDU *pdu, struct iovec **piov,
> size_t buf_size = iov_size(elem->out_sg, elem->out_num);
>
> if (buf_size < size) {
> - VirtIODevice *vdev = VIRTIO_DEVICE(v);
> -
> - virtio_error(vdev,
> - "VirtFS request type %d needs %zu bytes, buffer has %zu",
> - pdu->id, size, buf_size);
> + virtqueue_error(v->vq,
> + "VirtFS request type %d needs %zu bytes, "
> + "buffer has %zu", pdu->id, size, buf_size);
> }
>
> *piov = elem->out_sg;
On Thu, 13 Jul 2017 13:02:33 +0200 Ladi Prosek <lprosek@redhat.com> wrote: > virtqueue_error includes queue index in the error output and is preferred s/includes queue index/includes the queue index/ (also the other patches in this series) > for errors that pertain to a virtqueue rather than to the device as a whole. > > Signed-off-by: Ladi Prosek <lprosek@redhat.com> > --- > hw/9pfs/virtio-9p-device.c | 37 +++++++++++++++---------------------- > 1 file changed, 15 insertions(+), 22 deletions(-) Reviewed-by: Cornelia Huck <cohuck@redhat.com>
On Thu, Jul 13, 2017 at 01:02:33PM +0200, Ladi Prosek wrote: > virtqueue_error includes queue index in the error output and is preferred > for errors that pertain to a virtqueue rather than to the device as a whole. > > Signed-off-by: Ladi Prosek <lprosek@redhat.com> > --- > hw/9pfs/virtio-9p-device.c | 37 +++++++++++++++---------------------- > 1 file changed, 15 insertions(+), 22 deletions(-) Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
© 2016 - 2026 Red Hat, Inc.