[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PULL 10/32] vhost-user-blk: convert to new virtio_delete_queue
From: |
Michael S. Tsirkin |
Subject: |
[PULL 10/32] vhost-user-blk: convert to new virtio_delete_queue |
Date: |
Tue, 25 Feb 2020 10:13:14 -0500 |
From: Pan Nengyuan <address@hidden>
use the new virtio_delete_queue function to cleanup.
Signed-off-by: Pan Nengyuan <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Michael S. Tsirkin <address@hidden>
Signed-off-by: Michael S. Tsirkin <address@hidden>
---
include/hw/virtio/vhost-user-blk.h | 3 ++-
hw/block/vhost-user-blk.c | 19 +++++++++++--------
2 files changed, 13 insertions(+), 9 deletions(-)
diff --git a/include/hw/virtio/vhost-user-blk.h
b/include/hw/virtio/vhost-user-blk.h
index 108bfadeeb..05ea0ad183 100644
--- a/include/hw/virtio/vhost-user-blk.h
+++ b/include/hw/virtio/vhost-user-blk.h
@@ -36,7 +36,8 @@ typedef struct VHostUserBlk {
struct vhost_dev dev;
struct vhost_inflight *inflight;
VhostUserState vhost_user;
- struct vhost_virtqueue *vqs;
+ struct vhost_virtqueue *vhost_vqs;
+ VirtQueue **virtqs;
guint watch;
bool connected;
} VHostUserBlk;
diff --git a/hw/block/vhost-user-blk.c b/hw/block/vhost-user-blk.c
index 2eba8b9db0..12925a47ec 100644
--- a/hw/block/vhost-user-blk.c
+++ b/hw/block/vhost-user-blk.c
@@ -306,7 +306,7 @@ static int vhost_user_blk_connect(DeviceState *dev)
s->connected = true;
s->dev.nvqs = s->num_queues;
- s->dev.vqs = s->vqs;
+ s->dev.vqs = s->vhost_vqs;
s->dev.vq_index = 0;
s->dev.backend_features = 0;
@@ -420,13 +420,14 @@ static void vhost_user_blk_device_realize(DeviceState
*dev, Error **errp)
virtio_init(vdev, "virtio-blk", VIRTIO_ID_BLOCK,
sizeof(struct virtio_blk_config));
+ s->virtqs = g_new(VirtQueue *, s->num_queues);
for (i = 0; i < s->num_queues; i++) {
- virtio_add_queue(vdev, s->queue_size,
- vhost_user_blk_handle_output);
+ s->virtqs[i] = virtio_add_queue(vdev, s->queue_size,
+ vhost_user_blk_handle_output);
}
s->inflight = g_new0(struct vhost_inflight, 1);
- s->vqs = g_new0(struct vhost_virtqueue, s->num_queues);
+ s->vhost_vqs = g_new0(struct vhost_virtqueue, s->num_queues);
s->watch = 0;
s->connected = false;
@@ -458,11 +459,12 @@ reconnect:
return;
virtio_err:
- g_free(s->vqs);
+ g_free(s->vhost_vqs);
g_free(s->inflight);
for (i = 0; i < s->num_queues; i++) {
- virtio_del_queue(vdev, i);
+ virtio_delete_queue(s->virtqs[i]);
}
+ g_free(s->virtqs);
virtio_cleanup(vdev);
vhost_user_cleanup(&s->vhost_user);
}
@@ -478,12 +480,13 @@ static void vhost_user_blk_device_unrealize(DeviceState
*dev, Error **errp)
NULL, NULL, NULL, false);
vhost_dev_cleanup(&s->dev);
vhost_dev_free_inflight(s->inflight);
- g_free(s->vqs);
+ g_free(s->vhost_vqs);
g_free(s->inflight);
for (i = 0; i < s->num_queues; i++) {
- virtio_del_queue(vdev, i);
+ virtio_delete_queue(s->virtqs[i]);
}
+ g_free(s->virtqs);
virtio_cleanup(vdev);
vhost_user_cleanup(&s->vhost_user);
}
--
MST
- [PULL 00/32] virtio, pc: fixes, features, Michael S. Tsirkin, 2020/02/25
- [PULL 01/32] bios-tables-test: tell people how to update, Michael S. Tsirkin, 2020/02/25
- [PULL 02/32] bios-tables-test: fix up DIFF generation, Michael S. Tsirkin, 2020/02/25
- [PULL 03/32] bios-tables-test: default diff command, Michael S. Tsirkin, 2020/02/25
- [PULL 04/32] rebuild-expected-aml.sh: remind about the process, Michael S. Tsirkin, 2020/02/25
- [PULL 05/32] vhost-user-fs: do delete virtio_queues in unrealize, Michael S. Tsirkin, 2020/02/25
- [PULL 06/32] vhost-user-fs: convert to the new virtio_delete_queue function, Michael S. Tsirkin, 2020/02/25
- [PULL 07/32] virtio-pmem: do delete rq_vq in virtio_pmem_unrealize, Michael S. Tsirkin, 2020/02/25
- [PULL 08/32] virtio-crypto: do delete ctrl_vq in virtio_crypto_device_unrealize, Michael S. Tsirkin, 2020/02/25
- [PULL 09/32] vhost-user-blk: delete virtioqueues in unrealize to fix memleaks, Michael S. Tsirkin, 2020/02/25
- [PULL 10/32] vhost-user-blk: convert to new virtio_delete_queue,
Michael S. Tsirkin <=
- [PULL 11/32] virtio: gracefully handle invalid region caches, Michael S. Tsirkin, 2020/02/25
- [PULL 13/32] virtio-iommu: Decode the command payload, Michael S. Tsirkin, 2020/02/25
- [PULL 12/32] virtio-iommu: Add skeleton, Michael S. Tsirkin, 2020/02/25
- [PULL 15/32] virtio-iommu: Implement map/unmap, Michael S. Tsirkin, 2020/02/25
- [PULL 16/32] virtio-iommu: Implement translate, Michael S. Tsirkin, 2020/02/25
- [PULL 17/32] virtio-iommu: Implement fault reporting, Michael S. Tsirkin, 2020/02/25
- [PULL 18/32] virtio-iommu: Support migration, Michael S. Tsirkin, 2020/02/25
- [PULL 19/32] virtio-iommu-pci: Add virtio iommu pci support, Michael S. Tsirkin, 2020/02/25
- [PULL 20/32] hw/arm/virt: Add the virtio-iommu device tree mappings, Michael S. Tsirkin, 2020/02/25
- [PULL 21/32] MAINTAINERS: add virtio-iommu related files, Michael S. Tsirkin, 2020/02/25