[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 02/10] virtio-scsi: allocate cmd_vqs array separa
From: |
fred . konrad |
Subject: |
[Qemu-devel] [PATCH v5 02/10] virtio-scsi: allocate cmd_vqs array separately. |
Date: |
Thu, 21 Mar 2013 15:15:12 +0100 |
From: KONRAD Frederic <address@hidden>
Allocate/Free the cmd_vqs array separately to have a fixed size device.
Signed-off-by: KONRAD Frederic <address@hidden>
---
hw/virtio-scsi.c | 7 ++++---
hw/virtio-scsi.h | 2 +-
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c
index 55191c5..08fcb80 100644
--- a/hw/virtio-scsi.c
+++ b/hw/virtio-scsi.c
@@ -690,12 +690,12 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev,
VirtIOSCSIConf *proxyconf)
{
VirtIOSCSI *s;
static int virtio_scsi_id;
- size_t sz;
int i;
- sz = sizeof(VirtIOSCSI) + proxyconf->num_queues * sizeof(VirtQueue *);
s = (VirtIOSCSI *)virtio_common_init("virtio-scsi", VIRTIO_ID_SCSI,
- sizeof(VirtIOSCSIConfig), sz);
+ sizeof(VirtIOSCSIConfig),
+ sizeof(VirtIOSCSI));
+ s->cmd_vqs = g_malloc0(proxyconf->num_queues * sizeof(VirtQueue *));
s->qdev = dev;
s->conf = *proxyconf;
@@ -730,5 +730,6 @@ void virtio_scsi_exit(VirtIODevice *vdev)
{
VirtIOSCSI *s = (VirtIOSCSI *)vdev;
unregister_savevm(s->qdev, "virtio-scsi", s);
+ g_free(s->cmd_vqs);
virtio_cleanup(vdev);
}
diff --git a/hw/virtio-scsi.h b/hw/virtio-scsi.h
index 6a0a95e..fb83b67 100644
--- a/hw/virtio-scsi.h
+++ b/hw/virtio-scsi.h
@@ -44,7 +44,7 @@ typedef struct VirtIOSCSI {
bool events_dropped;
VirtQueue *ctrl_vq;
VirtQueue *event_vq;
- VirtQueue *cmd_vqs[0];
+ VirtQueue **cmd_vqs;
} VirtIOSCSI;
#define DEFINE_VIRTIO_SCSI_PROPERTIES(_state, _features_field, _conf_field) \
--
1.7.11.7
- [Qemu-devel] [PATCH v5 00/10] virtio-scsi refactoring., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 02/10] virtio-scsi: allocate cmd_vqs array separately.,
fred . konrad <=
- [Qemu-devel] [PATCH v5 04/10] virtio-scsi: add the virtio-scsi device., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 06/10] virtio-scsi-s390: switch to the new API., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 03/10] virtio-scsi: moving host_features from properties to transport properties., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 09/10] virtio-scsi: cleanup: init and exit functions., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 05/10] virtio-scsi-pci: switch to new API., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 10/10] virtio-scsi: cleanup: remove qdev field., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 01/10] virtio-scsi: don't use pointer for configuration., fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 07/10] virtio-scsi-ccw: switch to new API, fred . konrad, 2013/03/21
- [Qemu-devel] [PATCH v5 08/10] virtio-scsi: cleanup: use QOM casts., fred . konrad, 2013/03/21
- Re: [Qemu-devel] [PATCH v5 00/10] virtio-scsi refactoring., Cornelia Huck, 2013/03/22