From patchwork Wed Jul 18 21:17:05 2012 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: "Nicholas A. Bellinger" X-Patchwork-Id: 1213181 Return-Path: X-Original-To: patchwork-kvm@patchwork.kernel.org Delivered-To: patchwork-process-083081@patchwork2.kernel.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by patchwork2.kernel.org (Postfix) with ESMTP id 47114DFFFD for ; Wed, 18 Jul 2012 21:17:17 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752737Ab2GRVRL (ORCPT ); Wed, 18 Jul 2012 17:17:11 -0400 Received: from mail.linux-iscsi.org ([67.23.28.174]:33098 "EHLO linux-iscsi.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752020Ab2GRVRJ (ORCPT ); Wed, 18 Jul 2012 17:17:09 -0400 Received: from [192.168.0.116] (c-24-130-178-18.hsd1.ca.comcast.net [24.130.178.18]) (using SSLv3 with cipher AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: nab) by linux-iscsi.org (Postfix) with ESMTPSA id 787B722D9D0; Wed, 18 Jul 2012 21:14:17 +0000 (UTC) Subject: Re: [RFC-v3 3/4] vhost: Add vhost_scsi specific defines From: "Nicholas A. Bellinger" To: "Michael S. Tsirkin" Cc: target-devel , linux-scsi , lf-virt , kvm-devel , Stefan Hajnoczi , Zhi Yong Wu , Anthony Liguori , Paolo Bonzini , Christoph Hellwig , Jens Axboe , Hannes Reinecke , Greg Kroah-Hartman In-Reply-To: <20120718130518.GB5589@redhat.com> References: <1342573172-17421-1-git-send-email-nab@linux-iscsi.org> <1342573172-17421-4-git-send-email-nab@linux-iscsi.org> <20120718130518.GB5589@redhat.com> Date: Wed, 18 Jul 2012 14:17:05 -0700 Message-ID: <1342646225.18004.633.camel@haakon2.linux-iscsi.org> Mime-Version: 1.0 X-Mailer: Evolution 2.30.3 Sender: kvm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: kvm@vger.kernel.org On Wed, 2012-07-18 at 16:05 +0300, Michael S. Tsirkin wrote: > On Wed, Jul 18, 2012 at 12:59:31AM +0000, Nicholas A. Bellinger wrote: > > From: Nicholas Bellinger > > > > This patch adds the initial vhost_scsi_ioctl() callers for VHOST_SCSI_SET_ENDPOINT > > and VHOST_SCSI_CLEAR_ENDPOINT respectively, and also adds struct vhost_vring_target > > that is used by tcm_vhost code when locating target ports during qemu setup. > > > > Signed-off-by: Stefan Hajnoczi > > Cc: Zhi Yong Wu > > Cc: Michael S. Tsirkin > > Cc: Paolo Bonzini , > > Signed-off-by: Nicholas A. Bellinger > > --- > > include/linux/vhost.h | 9 +++++++++ > > 1 files changed, 9 insertions(+), 0 deletions(-) > > > > diff --git a/include/linux/vhost.h b/include/linux/vhost.h > > index e847f1e..33b313b 100644 > > --- a/include/linux/vhost.h > > +++ b/include/linux/vhost.h > > @@ -24,7 +24,11 @@ struct vhost_vring_state { > > struct vhost_vring_file { > > unsigned int index; > > int fd; /* Pass -1 to unbind from file. */ > > +}; > > > > +struct vhost_vring_target { > > Can this be renamed vhost_scsi_target? Done > > > + unsigned char vhost_wwpn[224]; > > 224? I am guessing ISCSI_NAME_LEN from include/scsi/iscsi_proto.h? > Unfortunately we can't include iscsi_proto.h here as it > is not exported to users. But let's add a comment for now. > This is actually from target/target_core_base.h:TRANSPORT_IQN_LEN. Fixing this up now.. > > + unsigned short vhost_tpgt; > > }; > > > > struct vhost_vring_addr { > > @@ -121,6 +125,11 @@ struct vhost_memory { > > * device. This can be used to stop the ring (e.g. for migration). */ > > #define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file) > > > > +/* VHOST_SCSI specific defines */ > > + > > +#define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_vring_target) > > +#define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_vring_target) > > + > > /* Feature bits */ > > /* Log all write descriptors. Can be changed while device is active. */ > > Can these go into appropriate ifdef CONFIG_TCP_VHOST please? > Mmmmm, I don't think we can do that with CONFIG_TCM_VHOST=m, or at least not with the following patch drivers/vhost/tcm/tcm_vhost.c:970: error: ‘VHOST_SCSI_SET_ENDPOINT’ undeclared (first use in this function) drivers/vhost/tcm/tcm_vhost.c:970: error: (Each undeclared identifier is reported only once drivers/vhost/tcm/tcm_vhost.c:970: error: for each function it appears in.) drivers/vhost/tcm/tcm_vhost.c:975: error: ‘VHOST_SCSI_CLEAR_ENDPOINT’ undeclared (first use in this function) make[3]: *** [drivers/vhost/tcm/tcm_vhost.o] Error 1 --- To unsubscribe from this list: send the line "unsubscribe kvm" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html diff --git a/include/linux/vhost.h b/include/linux/vhost.h index 33b313b..e4b1ee3 100644 --- a/include/linux/vhost.h +++ b/include/linux/vhost.h @@ -125,10 +126,14 @@ struct vhost_memory { * device. This can be used to stop the ring (e.g. for migration). */ #define VHOST_NET_SET_BACKEND _IOW(VHOST_VIRTIO, 0x30, struct vhost_vring_file) +#ifdef CONFIG_TCM_VHOST + /* VHOST_SCSI specific defines */ -#define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_vring_target) -#define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_vring_target) +# define VHOST_SCSI_SET_ENDPOINT _IOW(VHOST_VIRTIO, 0x40, struct vhost_scsi_target) +# define VHOST_SCSI_CLEAR_ENDPOINT _IOW(VHOST_VIRTIO, 0x41, struct vhost_scsi_target) + +#endif -- drivers/vhost/tcm/tcm_vhost.c: In function ‘vhost_scsi_ioctl’: