[stgt] [PATCH 0/3] Add proper STGT <-> bs_sg passthrough v3

Nicholas A. Bellinger nab at linux-iscsi.org
Mon Jun 7 10:27:16 CEST 2010


On Mon, 2010-06-07 at 15:45 +0900, FUJITA Tomonori wrote:
> On Sun,  6 Jun 2010 20:50:15 -0700
> "Nicholas A. Bellinger" <nab at linux-iscsi.org> wrote:
> 
> > From: Nicholas Bellinger <nab at linux-iscsi.org>
> > 
> > Greeting STGT folks,
> > 
> > This is the third round of patches for adding proper LUN passthrough support into STGT
> > using struct scsi_lu->cmd_perform() and struct scsi_lu->cmd_done() callers with existing
> > SG_IO and the new BSG v4 backstores.
> > 
> > Following Tomo-san's input, the changelog between v2 -> v3 is as follows:
> > 
> > 1) Add struct device_type_template sg_template for SG_IO and BSG in usr/bs_sg.c instead
> >    of making changes to usr/sbc.c
> > 
> > 2) Add struct backingstore_template->bs_passthrough member of type int for SG_IO and BSG.
> > 
> > 3) In usr/target.c:tgt_device_create() pass bst->bs_passthrough into device_type_lookup()
> >    and for passthrough case use the new device_type_passthrough() to locate
> >    struct device_type_template sg_template.
> > 
> > 4) Remove unnecessary post_cmd_done() from usr/target.c:__cmd_done_passthrough()
> > 
> > This patch series has been tested with STGT/iSCSI using 'sg'+'bsg' and 'rdwr' for non
> > passthrough mode backstores into TCM_Loop LLD emulated iSCSI target ports.
> > 
> > Best,
> > 
> > Signed-off-by: Nicholas A. Bellinger <nab at linux-iscsi.org
> > 
> > Nicholas Bellinger (3):
> >   [tgt]: Add proper STGT LUN backstore passthrough support (rev 3)
> >   [tgt]: Add bs_sg struct device_type_template sg_template and struct
> >     backingstore_template->bs_init()
> >   [tgt]: Add BSG v4 backstore support to usr/bs_sg.c
> > 
> >  usr/bs_sg.c     |  247 ++++++++++++++++++++++++++++++++++++++++++++++++++++--
> >  usr/scsi_cmnd.h |    7 ++
> >  usr/target.c    |  113 +++++++++++++++++++++++---
> >  usr/tgtd.h      |   16 ++++
> >  4 files changed, 362 insertions(+), 21 deletions(-)
> 
> The first and second patches Look fine overall. I have some comments
> and wrote some cleanup patches.
> 
> I've put the first two patches with my cleanups:
> 
> git://git.kernel.org/pub/scm/linux/kernel/git/tomo/tgt.git pass
> 
> Can you confirm that it works for you? Then I can merge them into
> master.

The pass branch works fine using '-E sg -Y pt' for SG_IO backstore <->
fabric LUN assocation with TCM_Loop LLD Target Ports.  Thanks for
cleaning things up to use TYPE_PT btw, I should have asked about that
earlier. ;)

> 
> Let's leave bsg support alone and focus on the sg support for now.
> --

Ok, I just fixed some minor breakage and applied patch 3 on top of
tgt.git/pass in my local tree and everything appears to work with
'-E bsg -Y pt'.

Please let me know if you have any other comments on the BSG bits or if
you would like me to send along a updated patch 3 seperately.

Thanks Tomo!

--nab


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



More information about the stgt mailing list