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 <nab@xxxxxxxxxxxxxxxxxxxxx> > > > > 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 <stefanha@xxxxxxxxxxxxxxxxxx> > > Cc: Zhi Yong Wu <wuzhy@xxxxxxxxxx> > > Cc: Michael S. Tsirkin <mst@xxxxxxxxxx> > > Cc: Paolo Bonzini <pbonzini@xxxxxxxxxx>, > > Signed-off-by: Nicholas A. Bellinger <nab@xxxxxxxxxxxxxxxxxxxxx> > > --- > > 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 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’: 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 linux-scsi" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html