From patchwork Mon Jan 7 18:40:37 2013 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: fred.konrad@greensocs.com X-Patchwork-Id: 210067 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Received: from lists.gnu.org (lists.gnu.org [208.118.235.17]) (using TLSv1 with cipher AES256-SHA (256/256 bits)) (Client did not present a certificate) by ozlabs.org (Postfix) with ESMTPS id B129B2C0090 for ; Tue, 8 Jan 2013 06:37:51 +1100 (EST) Received: from localhost ([::1]:35626 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsIW5-0000Re-Tt for incoming@patchwork.ozlabs.org; Mon, 07 Jan 2013 14:37:49 -0500 Received: from eggs.gnu.org ([208.118.235.92]:56403) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsHeE-0004uW-LU for qemu-devel@nongnu.org; Mon, 07 Jan 2013 13:42:11 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1TsHeC-0005pt-RD for qemu-devel@nongnu.org; Mon, 07 Jan 2013 13:42:10 -0500 Received: from greensocs.com ([87.106.252.221]:52823 helo=s15328186.onlinehome-server.info) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1TsHeC-0005pi-LM for qemu-devel@nongnu.org; Mon, 07 Jan 2013 13:42:08 -0500 Received: from localhost (unknown [127.0.0.1]) by s15328186.onlinehome-server.info (Postfix) with ESMTP id 19016439E46; Mon, 7 Jan 2013 18:42:08 +0000 (UTC) Received: from s15328186.onlinehome-server.info ([127.0.0.1]) by localhost (s15328186.onlinehome-server.info [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id Sxh-ChOkMZA0; Mon, 7 Jan 2013 19:42:05 +0100 (CET) Received: by s15328186.onlinehome-server.info (Postfix, from userid 491) id 4DE5F439E48; Mon, 7 Jan 2013 19:42:01 +0100 (CET) Received: from compaq.katmai.xl.cx.katmai.xl.cx (lan31-11-83-155-143-136.fbx.proxad.net [83.155.143.136]) by s15328186.onlinehome-server.info (Postfix) with ESMTPSA id 06F6A439E46; Mon, 7 Jan 2013 19:41:59 +0100 (CET) From: fred.konrad@greensocs.com To: qemu-devel@nongnu.org, aliguori@us.ibm.com Date: Mon, 7 Jan 2013 19:40:37 +0100 Message-Id: <1357584074-10852-25-git-send-email-fred.konrad@greensocs.com> X-Mailer: git-send-email 1.7.11.7 In-Reply-To: <1357584074-10852-1-git-send-email-fred.konrad@greensocs.com> References: <1357584074-10852-1-git-send-email-fred.konrad@greensocs.com> X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 87.106.252.221 Cc: kwolf@redhat.com, peter.maydell@linaro.org, e.voevodin@samsung.com, mst@redhat.com, mark.burton@greensocs.com, agraf@suse.de, amit.shah@redhat.com, aneesh.kumar@linux.vnet.ibm.com, stefanha@redhat.com, cornelia.huck@de.ibm.com, pbonzini@redhat.com, afaerber@suse.de, fred.konrad@greensocs.com Subject: [Qemu-devel] [PATCH 24/61] virtio-scsi : allocate cmd_vqs array separately. X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org Sender: qemu-devel-bounces+incoming=patchwork.ozlabs.org@nongnu.org From: KONRAD Frederic Allocate/Free the cmd_vqs array separately to have a fixed size device. Signed-off-by: KONRAD Frederic --- hw/virtio-scsi.c | 6 +++--- hw/virtio-scsi.h | 2 +- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c index 1bd689c..7b922ab 100644 --- a/hw/virtio-scsi.c +++ b/hw/virtio-scsi.c @@ -685,12 +685,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; memcpy(&(s->conf), proxyconf, sizeof(struct VirtIOSCSIConf)); diff --git a/hw/virtio-scsi.h b/hw/virtio-scsi.h index 6e027be..c659ba1 100644 --- a/hw/virtio-scsi.h +++ b/hw/virtio-scsi.h @@ -44,7 +44,7 @@ typedef struct { 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) \