[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 09/18] virtio: Return error from virtio_del_queue
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH 09/18] virtio: Return error from virtio_del_queue |
Date: |
Fri, 17 Apr 2015 15:59:24 +0800 |
Signed-off-by: Fam Zheng <address@hidden>
---
hw/net/virtio-net.c | 2 +-
hw/virtio/virtio.c | 5 +++--
include/hw/virtio/virtio.h | 2 +-
3 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/hw/net/virtio-net.c b/hw/net/virtio-net.c
index 74205b4..c727277 100644
--- a/hw/net/virtio-net.c
+++ b/hw/net/virtio-net.c
@@ -1310,7 +1310,7 @@ static void virtio_net_set_multiqueue(VirtIONet *n, int
multiqueue)
n->multiqueue = multiqueue;
for (i = 2; i <= n->max_queues * 2 + 1; i++) {
- virtio_del_queue(vdev, i);
+ virtio_del_queue(vdev, i, &error_abort);
}
for (i = 1; i < max; i++) {
diff --git a/hw/virtio/virtio.c b/hw/virtio/virtio.c
index b473f9d..6dfa181 100644
--- a/hw/virtio/virtio.c
+++ b/hw/virtio/virtio.c
@@ -888,10 +888,11 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int
queue_size,
return &vdev->vq[i];
}
-void virtio_del_queue(VirtIODevice *vdev, int n)
+void virtio_del_queue(VirtIODevice *vdev, int n, Error **errp)
{
if (n < 0 || n >= VIRTIO_PCI_QUEUE_MAX) {
- abort();
+ error_setg(errp, "Invalid queue number: %d", n);
+ return;
}
vdev->vq[n].vring.num = 0;
diff --git a/include/hw/virtio/virtio.h b/include/hw/virtio/virtio.h
index b31465f..52e2b1c 100644
--- a/include/hw/virtio/virtio.h
+++ b/include/hw/virtio/virtio.h
@@ -132,7 +132,7 @@ VirtQueue *virtio_add_queue(VirtIODevice *vdev, int
queue_size,
VirtQueue *),
Error **errp);
-void virtio_del_queue(VirtIODevice *vdev, int n);
+void virtio_del_queue(VirtIODevice *vdev, int n, Error **errp);
void virtqueue_push(VirtQueue *vq, const VirtQueueElement *elem,
unsigned int len);
--
1.9.3
- [Qemu-devel] [PATCH 00/18] virtio-blk: Support "VIRTIO_CONFIG_S_NEEDS_RESET", Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 01/18] virtio: Return error from virtqueue_map_sg, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 02/18] virtio: Return error from virtqueue_num_heads, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 03/18] virtio: Return error from virtqueue_get_head, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 05/18] virtio: Return error from virtqueue_get_avail_bytes, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 06/18] virtio: Return error from virtqueue_pop, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 07/18] virtio: Return error from virtqueue_avail_bytes, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 09/18] virtio: Return error from virtio_del_queue,
Fam Zheng <=
- [Qemu-devel] [PATCH 10/18] virtio: Add macro for VIRTIO_CONFIG_S_NEEDS_RESET, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 11/18] virtio: Add "needs_reset" flag to virtio device, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 12/18] virtio: Return -EINVAL if the vdev needs reset in virtqueue_pop, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 13/18] virtio-blk: Graceful error handling of virtqueue_pop, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 14/18] qtest: Add "QTEST_FILTER" to filter test cases, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 15/18] qtest: virtio-blk: Extract "setup" for future reuse, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 16/18] libqos: Add qvirtio_needs_reset, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 17/18] qtest: Add test case for "needs reset" of virtio-blk, Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 18/18] qtest: virtio-blk: Suppress virtio error messages in "make check", Fam Zheng, 2015/04/17
- [Qemu-devel] [PATCH 04/18] virtio: Return error from virtqueue_next_desc, Fam Zheng, 2015/04/17