From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:43267) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Stvf9-0000ct-N0 for qemu-devel@nongnu.org; Wed, 25 Jul 2012 03:05:45 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1Stvf5-0005zv-Lh for qemu-devel@nongnu.org; Wed, 25 Jul 2012 03:05:39 -0400 Received: from mail-wi0-f169.google.com ([209.85.212.169]:58964) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1Stvf5-0005yf-F8 for qemu-devel@nongnu.org; Wed, 25 Jul 2012 03:05:35 -0400 Received: by wibhm2 with SMTP id hm2so4113321wib.4 for ; Wed, 25 Jul 2012 00:05:34 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <500F9ABB.4050704@redhat.com> Date: Wed, 25 Jul 2012 09:05:31 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1343169246-17636-1-git-send-email-nab@linux-iscsi.org> <1343169246-17636-7-git-send-email-nab@linux-iscsi.org> In-Reply-To: <1343169246-17636-7-git-send-email-nab@linux-iscsi.org> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [RFC 6/9] virtio-scsi: Open and initialize /dev/vhost-scsi List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: "Nicholas A. Bellinger" Cc: Jens Axboe , Stefan Hajnoczi , kvm-devel , "Michael S. Tsirkin" , qemu-devel , Zhi Yong Wu , Anthony Liguori , target-devel , Hannes Reinecke , lf-virt , Christoph Hellwig Il 25/07/2012 00:34, Nicholas A. Bellinger ha scritto: > From: Stefan Hajnoczi > > Begin adding vhost support by opening /dev/vhost-scsi. > > (v2: Drop legacy ->vhost_vqs[] usage) > > Signed-off-by: Stefan Hajnoczi > Signed-off-by: Zhi Yong Wu > Cc: Michael S. Tsirkin > Cc: Paolo Bonzini > Signed-off-by: Nicholas Bellinger > --- > hw/virtio-scsi.c | 12 ++++++++++++ > 1 files changed, 12 insertions(+), 0 deletions(-) > > diff --git a/hw/virtio-scsi.c b/hw/virtio-scsi.c > index 4a787d3..dea3269 100644 > --- a/hw/virtio-scsi.c > +++ b/hw/virtio-scsi.c > @@ -18,6 +18,7 @@ > #include "virtio-scsi.h" > #include > #include > +#include "vhost.h" > > #define VIRTIO_SCSI_VQ_SIZE 128 > #define VIRTIO_SCSI_CDB_SIZE 32 > @@ -137,6 +138,9 @@ typedef struct { > VirtQueue *ctrl_vq; > VirtQueue *event_vq; > VirtQueue *cmd_vqs[0]; > + > + bool vhost_started; > + VHostSCSI *vhost_scsi; > } VirtIOSCSI; > > typedef struct VirtIOSCSIReq { > @@ -456,6 +460,11 @@ static void virtio_scsi_fail_cmd_req(VirtIOSCSIReq *req) > virtio_scsi_complete_req(req); > } > > +static VirtIOSCSI *to_virtio_scsi(VirtIODevice *vdev) > +{ > + return (VirtIOSCSI *)vdev; > +} This function is unused and, because it is static, it will break compilation. Not that it would compile anyway since VHostSCSI is not defined yet... ;) > static void virtio_scsi_handle_cmd(VirtIODevice *vdev, VirtQueue *vq) > { > VirtIOSCSI *s = (VirtIOSCSI *)vdev; > @@ -605,6 +614,8 @@ VirtIODevice *virtio_scsi_init(DeviceState *dev, VirtIOSCSIConf *proxyconf) > > s->qdev = dev; > s->conf = proxyconf; > + s->vhost_started = false; > + s->vhost_scsi = proxyconf->vhost_scsi; No need for this, just use s->conf->vhost_scsi. Also, please do not register the QEMU SCSI bus if vhost-scsi is active. Paolo > > /* TODO set up vdev function pointers */ > s->vdev.get_config = virtio_scsi_get_config; > @@ -636,5 +647,6 @@ void virtio_scsi_exit(VirtIODevice *vdev) > { > VirtIOSCSI *s = (VirtIOSCSI *)vdev; > unregister_savevm(s->qdev, "virtio-scsi", s); > + vhost_dev_cleanup(&s->vhost_scsi); > virtio_cleanup(vdev); > } >