Re: [RFC-v3 4/4] tcm_vhost: Initial merge for vhost level target fabric driver

2012-07-20 Thread Michael S. Tsirkin
On Wed, Jul 18, 2012 at 02:20:58PM -0700, Nicholas A. Bellinger wrote:
 On Wed, 2012-07-18 at 19:09 +0300, Michael S. Tsirkin wrote:
  On Wed, Jul 18, 2012 at 12:59:32AM +, Nicholas A. Bellinger wrote:
 
 SNIP
 
   
   Changelog v2 - v3:
   
 Unlock on error in tcm_vhost_drop_nexus() (DanC)
 Fix strlen() doesn't count the terminator (DanC)
 Call kfree() on an error path (DanC)
 Convert tcm_vhost_write_pending to use target_execute_cmd (hch + nab)
 Fix another strlen() off by one in tcm_vhost_make_tport (DanC)
 Add option under drivers/staging/Kconfig, and move to drivers/vhost/tcm/
 as requested by MST (nab)
   
   ---
drivers/staging/Kconfig   |2 +
drivers/vhost/Makefile|2 +
drivers/vhost/tcm/Kconfig |6 +
drivers/vhost/tcm/Makefile|1 +
drivers/vhost/tcm/tcm_vhost.c | 1611 
   +
drivers/vhost/tcm/tcm_vhost.h |   74 ++
6 files changed, 1696 insertions(+), 0 deletions(-)
create mode 100644 drivers/vhost/tcm/Kconfig
create mode 100644 drivers/vhost/tcm/Makefile
create mode 100644 drivers/vhost/tcm/tcm_vhost.c
create mode 100644 drivers/vhost/tcm/tcm_vhost.h
   
  
  Really sorry about making you run around like that,
  I did not mean moving all of tcm to a directory,
  just adding tcm/Kconfig or adding drivers/vhost/Kconfig.tcm
  because eventually it's easier to keep it all together
  in one place.
  
 
 Er, apologies for the slight mis-understanding here..  Moving back now +
 fixing up the Kbuild bits.

I'm going offline in several hours and am on vacation for a week
starting tomorrow. So to make 3.6, and if you intend to merge through my
tree, the best bet is if you can send the final version real soon now.

-- 
MST
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC-v3 4/4] tcm_vhost: Initial merge for vhost level target fabric driver

2012-07-20 Thread Nicholas A. Bellinger
On Fri, 2012-07-20 at 15:03 +0300, Michael S. Tsirkin wrote:
 On Wed, Jul 18, 2012 at 02:20:58PM -0700, Nicholas A. Bellinger wrote:
  On Wed, 2012-07-18 at 19:09 +0300, Michael S. Tsirkin wrote:
   On Wed, Jul 18, 2012 at 12:59:32AM +, Nicholas A. Bellinger wrote:
  
  SNIP
  

Changelog v2 - v3:

  Unlock on error in tcm_vhost_drop_nexus() (DanC)
  Fix strlen() doesn't count the terminator (DanC)
  Call kfree() on an error path (DanC)
  Convert tcm_vhost_write_pending to use target_execute_cmd (hch + nab)
  Fix another strlen() off by one in tcm_vhost_make_tport (DanC)
  Add option under drivers/staging/Kconfig, and move to 
drivers/vhost/tcm/
  as requested by MST (nab)

---
 drivers/staging/Kconfig   |2 +
 drivers/vhost/Makefile|2 +
 drivers/vhost/tcm/Kconfig |6 +
 drivers/vhost/tcm/Makefile|1 +
 drivers/vhost/tcm/tcm_vhost.c | 1611 
+
 drivers/vhost/tcm/tcm_vhost.h |   74 ++
 6 files changed, 1696 insertions(+), 0 deletions(-)
 create mode 100644 drivers/vhost/tcm/Kconfig
 create mode 100644 drivers/vhost/tcm/Makefile
 create mode 100644 drivers/vhost/tcm/tcm_vhost.c
 create mode 100644 drivers/vhost/tcm/tcm_vhost.h

   
   Really sorry about making you run around like that,
   I did not mean moving all of tcm to a directory,
   just adding tcm/Kconfig or adding drivers/vhost/Kconfig.tcm
   because eventually it's easier to keep it all together
   in one place.
   
  
  Er, apologies for the slight mis-understanding here..  Moving back now +
  fixing up the Kbuild bits.
 
 I'm going offline in several hours and am on vacation for a week
 starting tomorrow. So to make 3.6, and if you intend to merge through my
 tree, the best bet is if you can send the final version real soon now.
 

Ok, thanks for the heads up here..

So aside from Greg-KH's feedback to avoid the drivers/staging/ Kconfig
include usage, and one more bugfix from DanC from this morning those are
the only pending changes for RFC-v4.

If it's OK I'd prefer to take these via target-pending with the
necessary Acked-By's, especially if you'll be AFK next week..

Would you like to see a RFC-v4 with these changes included..?

Thank you,

--nab

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC-v3 4/4] tcm_vhost: Initial merge for vhost level target fabric driver

2012-07-20 Thread Nicholas A. Bellinger
On Fri, 2012-07-20 at 11:00 -0700, Nicholas A. Bellinger wrote:
 On Fri, 2012-07-20 at 15:03 +0300, Michael S. Tsirkin wrote:
  On Wed, Jul 18, 2012 at 02:20:58PM -0700, Nicholas A. Bellinger wrote:
   On Wed, 2012-07-18 at 19:09 +0300, Michael S. Tsirkin wrote:
On Wed, Jul 18, 2012 at 12:59:32AM +, Nicholas A. Bellinger wrote:
   
   SNIP
   
 
 Changelog v2 - v3:
 
   Unlock on error in tcm_vhost_drop_nexus() (DanC)
   Fix strlen() doesn't count the terminator (DanC)
   Call kfree() on an error path (DanC)
   Convert tcm_vhost_write_pending to use target_execute_cmd (hch + 
 nab)
   Fix another strlen() off by one in tcm_vhost_make_tport (DanC)
   Add option under drivers/staging/Kconfig, and move to 
 drivers/vhost/tcm/
   as requested by MST (nab)
 
 ---
  drivers/staging/Kconfig   |2 +
  drivers/vhost/Makefile|2 +
  drivers/vhost/tcm/Kconfig |6 +
  drivers/vhost/tcm/Makefile|1 +
  drivers/vhost/tcm/tcm_vhost.c | 1611 
 +
  drivers/vhost/tcm/tcm_vhost.h |   74 ++
  6 files changed, 1696 insertions(+), 0 deletions(-)
  create mode 100644 drivers/vhost/tcm/Kconfig
  create mode 100644 drivers/vhost/tcm/Makefile
  create mode 100644 drivers/vhost/tcm/tcm_vhost.c
  create mode 100644 drivers/vhost/tcm/tcm_vhost.h
 

Really sorry about making you run around like that,
I did not mean moving all of tcm to a directory,
just adding tcm/Kconfig or adding drivers/vhost/Kconfig.tcm
because eventually it's easier to keep it all together
in one place.

   
   Er, apologies for the slight mis-understanding here..  Moving back now +
   fixing up the Kbuild bits.
  
  I'm going offline in several hours and am on vacation for a week
  starting tomorrow. So to make 3.6, and if you intend to merge through my
  tree, the best bet is if you can send the final version real soon now.
  
 
 Ok, thanks for the heads up here..
 
 So aside from Greg-KH's feedback to avoid the drivers/staging/ Kconfig
 include usage, and one more bugfix from DanC from this morning those are
 the only pending changes for RFC-v4.
 
 If it's OK I'd prefer to take these via target-pending with the
 necessary Acked-By's, especially if you'll be AFK next week..
 
 Would you like to see a RFC-v4 with these changes included..?
 
 Thank you,
 

Actually sorry, the patch from DanC is for target core, and not
tcm_vhost specific change..

So really the only thing left to resolve for an initial merge is
Greg-KH's comments wrt to drivers/staging Kconfig usage..

Are you OK with just adding CONFIG_STAGING following Greg-KH's
feedback..?

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [RFC-v3 4/4] tcm_vhost: Initial merge for vhost level target fabric driver

2012-07-18 Thread Michael S. Tsirkin
On Wed, Jul 18, 2012 at 12:59:32AM +, Nicholas A. Bellinger wrote:
 From: Nicholas Bellinger n...@linux-iscsi.org
 
 This patch adds the initial code for tcm_vhost, a Vhost level TCM
 fabric driver for virtio SCSI initiators into KVM guest.
 
 This code is currently up and running on v3.5-rc2 host+guest along
 with the virtio-scsi vdev-scan() patch to allow a proper
 scsi_scan_host() to occur once the tcm_vhost nexus has been established
 by the paravirtualized virtio-scsi client here:
 
 virtio-scsi: Add vdrv-scan for post VIRTIO_CONFIG_S_DRIVER_OK LUN scanning
 http://marc.info/?l=linux-scsim=134160609212542w=2
 
 Using tcm_vhost requires Zhi's - Stefan's qemu vhost-scsi tree here:
 
 https://github.com/wuzhy/qemu/tree/vhost-scsi
 
 along with the recent QEMU patch to hw/virtio-scsi.c to set max_target=0
 during vhost-scsi operation.
 
 Changelog v2 - v3:
 
   Unlock on error in tcm_vhost_drop_nexus() (DanC)
   Fix strlen() doesn't count the terminator (DanC)
   Call kfree() on an error path (DanC)
   Convert tcm_vhost_write_pending to use target_execute_cmd (hch + nab)
   Fix another strlen() off by one in tcm_vhost_make_tport (DanC)
   Add option under drivers/staging/Kconfig, and move to drivers/vhost/tcm/
   as requested by MST (nab)
 
 Changelog v1 - v2:
 
   Fix tv_cmd completion - release SGL memory leak (nab)
   Fix sparse warnings for static variable usage ((Fengguang Wu)
   Fix sparse warnings for min() typing + printk format specs (Fengguang Wu)
   Convert to cmwq submission for I/O dispatch (nab + hch)
 
 Changelog v0 - v1:
 
   Merge into single source + header file, and move to drivers/vhost/
 
 Cc: Stefan Hajnoczi stefa...@linux.vnet.ibm.com
 Cc: Zhi Yong Wu wu...@cn.ibm.com
 Cc: Michael S. Tsirkin m...@redhat.com
 Cc: Paolo Bonzini pbonz...@redhat.com
 Cc: Christoph Hellwig h...@lst.de
 Cc: Hannes Reinecke h...@suse.de
 Cc: Jens Axboe ax...@kernel.dk
 Signed-off-by: Nicholas Bellinger n...@linux-iscsi.org
 ---
  drivers/staging/Kconfig   |2 +
  drivers/vhost/Makefile|2 +
  drivers/vhost/tcm/Kconfig |6 +
  drivers/vhost/tcm/Makefile|1 +
  drivers/vhost/tcm/tcm_vhost.c | 1611 
 +
  drivers/vhost/tcm/tcm_vhost.h |   74 ++
  6 files changed, 1696 insertions(+), 0 deletions(-)
  create mode 100644 drivers/vhost/tcm/Kconfig
  create mode 100644 drivers/vhost/tcm/Makefile
  create mode 100644 drivers/vhost/tcm/tcm_vhost.c
  create mode 100644 drivers/vhost/tcm/tcm_vhost.h
 

Really sorry about making you run around like that,
I did not mean moving all of tcm to a directory,
just adding tcm/Kconfig or adding drivers/vhost/Kconfig.tcm
because eventually it's easier to keep it all together
in one place.

 diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig
 index 05e33c7..8d1a627 100644
 --- a/drivers/staging/Kconfig
 +++ b/drivers/staging/Kconfig
 @@ -132,4 +132,6 @@ source drivers/staging/ipack/Kconfig
  
  source drivers/staging/gdm72xx/Kconfig
  
 +source drivers/vhost/tcm/Kconfig
 +
  endif # STAGING
 diff --git a/drivers/vhost/Makefile b/drivers/vhost/Makefile
 index 72dd020..3408bea 100644
 --- a/drivers/vhost/Makefile
 +++ b/drivers/vhost/Makefile
 @@ -1,2 +1,4 @@
  obj-$(CONFIG_VHOST_NET) += vhost_net.o
  vhost_net-y := vhost.o net.o
 +
 +obj-$(CONFIG_TCM_VHOST) += tcm/
 diff --git a/drivers/vhost/tcm/Kconfig b/drivers/vhost/tcm/Kconfig
 new file mode 100644
 index 000..a9c6f76
 --- /dev/null
 +++ b/drivers/vhost/tcm/Kconfig
 @@ -0,0 +1,6 @@
 +config TCM_VHOST
 + tristate TCM_VHOST fabric module (EXPERIMENTAL)
 + depends on TARGET_CORE  EVENTFD  EXPERIMENTAL  m
 + default n
 + ---help---
 + Say M here to enable the TCM_VHOST fabric module for use with 
 virtio-scsi guests
 diff --git a/drivers/vhost/tcm/Makefile b/drivers/vhost/tcm/Makefile
 new file mode 100644
 index 000..54b0ea6
 --- /dev/null
 +++ b/drivers/vhost/tcm/Makefile
 @@ -0,0 +1 @@
 +obj-$(CONFIG_TCM_VHOST) += tcm_vhost.o
 diff --git a/drivers/vhost/tcm/tcm_vhost.c b/drivers/vhost/tcm/tcm_vhost.c
 new file mode 100644
 index 000..0ee4046
 --- /dev/null
 +++ b/drivers/vhost/tcm/tcm_vhost.c
 @@ -0,0 +1,1611 @@
 +/***
 + * Vhost kernel TCM fabric driver for virtio SCSI initiators
 + *
 + * (C) Copyright 2010-2012 RisingTide Systems LLC.
 + * (C) Copyright 2010-2012 IBM Corp.
 + *
 + * Licensed to the Linux Foundation under the General Public License (GPL) 
 version 2.
 + *
 + * Authors: Nicholas A. Bellinger n...@risingtidesystems.com
 + *  Stefan Hajnoczi stefa...@linux.vnet.ibm.com
 + *
 + * This program is free software; you can redistribute it and/or modify
 + * it under the terms of the GNU General Public License as published by
 + * the Free Software Foundation; either version 2 of the License, or
 + * (at your option) any later version.
 + *
 + * This program is distributed in the hope that it will be useful,
 + * but 

Re: [RFC-v3 4/4] tcm_vhost: Initial merge for vhost level target fabric driver

2012-07-18 Thread Nicholas A. Bellinger
On Wed, 2012-07-18 at 19:09 +0300, Michael S. Tsirkin wrote:
 On Wed, Jul 18, 2012 at 12:59:32AM +, Nicholas A. Bellinger wrote:

SNIP

  
  Changelog v2 - v3:
  
Unlock on error in tcm_vhost_drop_nexus() (DanC)
Fix strlen() doesn't count the terminator (DanC)
Call kfree() on an error path (DanC)
Convert tcm_vhost_write_pending to use target_execute_cmd (hch + nab)
Fix another strlen() off by one in tcm_vhost_make_tport (DanC)
Add option under drivers/staging/Kconfig, and move to drivers/vhost/tcm/
as requested by MST (nab)
  
  ---
   drivers/staging/Kconfig   |2 +
   drivers/vhost/Makefile|2 +
   drivers/vhost/tcm/Kconfig |6 +
   drivers/vhost/tcm/Makefile|1 +
   drivers/vhost/tcm/tcm_vhost.c | 1611 
  +
   drivers/vhost/tcm/tcm_vhost.h |   74 ++
   6 files changed, 1696 insertions(+), 0 deletions(-)
   create mode 100644 drivers/vhost/tcm/Kconfig
   create mode 100644 drivers/vhost/tcm/Makefile
   create mode 100644 drivers/vhost/tcm/tcm_vhost.c
   create mode 100644 drivers/vhost/tcm/tcm_vhost.h
  
 
 Really sorry about making you run around like that,
 I did not mean moving all of tcm to a directory,
 just adding tcm/Kconfig or adding drivers/vhost/Kconfig.tcm
 because eventually it's easier to keep it all together
 in one place.
 

Er, apologies for the slight mis-understanding here..  Moving back now +
fixing up the Kbuild bits.

--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html