public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
From: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
To: Vladislav Bolkhovitin <vst@vlnb.net>
Cc: James Bottomley <James.Bottomley@suse.de>,
	Dirk Meister <dmeister@uni-paderborn.de>,
	linux-scsi@vger.kernel.org, Chetan Loke <chetanloke@gmail.com>,
	Chetan Loke <generationgnu@yahoo.com>,
	scst-devel <scst-devel@lists.sourceforge.net>,
	linux-kernel@vger.kernel.org,
	Mike Christie <michaelc@cs.wisc.edu>,
	FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
Subject: Re: [Scst-devel] Fwd: Re: linuxcon 2010...
Date: Mon, 30 Aug 2010 14:46:32 -0700	[thread overview]
Message-ID: <1283204792.32007.448.camel@haakon2.linux-iscsi.org> (raw)
In-Reply-To: <4C7C18CE.5020103@vlnb.net>

On Tue, 2010-08-31 at 00:47 +0400, Vladislav Bolkhovitin wrote:
> Nicholas A. Bellinger, on 08/29/2010 12:47 AM wrote:
> >>>>> As mentioned explictly earlier in this thread, my WIP code for the
> >>>>> kernel level subsystem backstore using STGT kernel<->    user CDB
> >>>>> passthrough logic in drivers/target/target_core_stgt.c is a item on
> >>>>> my TODO list, but I will repeat, is NOT being tagged as a mainline
> >>>>> .37 item.
> >>>>
> >>>> Hmm, I can't understand, if target_core_stgt.c is "NOT being tagged as a
> >>>> mainline .37 item", then the STGT ABI compatibility for being a drop in
> >>>> replacement for STGT isn't a requirement? Or am I missing something?
> >>>
> >>> Sorry, but I have no idea what you are trying to conjour up here.
> >>>
> >>> To spell out (again) the TCM/LIO<->STGT compatibility stages that have
> >>> been persued pubically over the last months:
> >>>
> >>> I) Create proper userspace tgt.git SG_IO and BSG passthrough into
> >>>      TCM_Loop v4 using high-level multi-fabric WWPN emulation so that TCM
> >>>      Core SPC-4 kernel emulation is exposed to STGT user fabrics, eg:
> >>>      userspace fabric module ->   kernel backstore passthrough.  (DONE
> >>>      for .37, and STGT passthrough + BSG backstore support merged into
> >>>      tgt.git by Tomo-san)
> >>>
> >>> II) Complete target_core_stgt.c TCM subsystem plugin for kernel ->   user
> >>>       CDB ->   LUN passthrough building upon existing
> >>>       drivers/scsi/scsi_tgt_*.c code.  (WIP for .38, made available
> >>>       initially as a seperate standalone .ko module in lio-core-2.6.git)
> >>
> >> That would mean that if LIO merged in .37:
> >>
> >> 1. It would be merged _without_ STGT ABI compatibility, i.e. one of the
> >> requirements for a new SCSI target infrastructure merge is violated.
> >>
> >
> > Sorry, but you are completely wrong here.  This has nothing to do with a
> > question of STGT kernel 'ABI compatibility' (because there is only one
> > mainline user!), but has everything to do with being able to expose TCM
> > kernel level SPC-4 emulation, and make this logic available to existing
> > userspace fabrics in tgt.git.  Again, we are talking about userspace
> > STGT fabric module<->  TCM kernel backstore support for .37, which has
> > already been merged by into tgt.git, and being used by other STGT users
> > for SG_IO and BSG passthrough.
> 
> You are proving that I'm actually right ;). In the beginning of this 
> thread I offered a transition path from STGT to SCST and James rejected 
> it, because it didn't confirm a requirement that a new SCSI target 
> infrastructure must be STGT ABI compatible. But latter James left this 
> decision up to the STGT developers and now you are confirming that they 
> don't see any ABI compatibility issues, so my transition path fully 
> confirms all the requirements.
> 

Again, I still have no idea what you are trying to conjour up.  The
passthrough for STGT compatibility with TCM_Loop via SG_IO and BSG has
already been merged by Tomo-san into tgt.git.  Futhermore, we are using
the same TCM_Loop high level multi-fabric WWPN emulation together with
new (and old) QEMU HBA emulation into KVM guest using SG_IO and BSG as
well.

> >> 2. It would _not_ be a drop in replacement for STGT, because STGT's
> >> drivers/scsi/scsi_tgt_*.c code would stay in the kernel. Those would
> >> effectively mean that another requirement for a new SCSI target
> >> infrastructure merge would be violated: there would be 2 SCSI target
> >> infrastructures in the kernel and any STGT in-kernel driver (for
> >> instance, built as an outside module) would continue working. My
> >> understanding of "drop in replacement" is "one out, another in at once".
> >
> > Sorry, but this is just more generic handwaving on your part.  What
> > constitutes a 'drop in replacement' for STGT is a decision that was to
> > be made by the STGT developers, not by you.  target_core_stgt.c is an
> > extraordinarly transparent method of bringing drivers/scsi/scsi_tgt_*
> > logic into the TCM Core HBA/DEV design, and allows us to build upon and
> > improve the existing mainline kernel code.
> 
> I'm not deciding anything, I'm only analyzing and seeing a contradiction:
> 
> 1. James wants only one SCSI target infrastructure in the kernel.
> 
> 2. If drivers/scsi/scsi_tgt_*.c left after the merge of the new SCSI 
> target infrastructure, it would mean that STGT left as well => 2 SCSI 
> target infrastructure in the kernel.
> 
> For me it doesn't matter. I just want clear rules, hence asking for 
> clarification.

Seriously, arguing over the use of people's language from weeks ago once
the decision has already been made to move forward is really of little
value at this point.

> 
> > It is obvious to even an casual observer from watching the TCM/LIO patch
> > series that have been flying across the linux-scsi wire the last 24
> > months that the major features (including PR and ALUA, and new fabric
> > module drivers) have been developed individual feature bit by feature
> > bit using a distributed git workflow in a bisectable manner.  Each
> > series was produced in such a manner that each patch could be reviewed
> > individually by those interested parties.
> 
> That's a nice, but quite meaningless LIO advertisement. SCST is using 
> the same bisectable, distributed and reviewable workflow.

Actually, that is incorrect.  Your project uses a centralized
development model, which has it's obvious limitiations in terms of
speed, flexability, and community scale.  But really, don't take my word
for it, you can hear it for yourself directly from the horse's mouth
here:

http://www.youtube.com/watch?v=4XpnKHJAok8

I also very strongly suggest you find a transcript of this talk so you
can really understand what Linus means here wrt to a distributed
development workflow.

>  If we had a 
> kernel.org git account, we would use it as well, but so far we are happy 
> with SF.net hosting. BTW, how was you able to get the git account 
> without a single patch merged in the kernel? You must have good 
> connections in the kernel community.

Please don't turn this into a kernel.org vs. SF.net thing..  There are
plenty of places that offer free git hosting (see github)

> 
> > This is the big difference between our respective development processes.
> > This is the case not only for SCSI feature bits that TCM/LIO and SCST
> > share, but for features in TCM/LIO v4 that are unique and not available
> > in any other target implemention, anywhere.  And yes, I am most
> > certainly talking about code beyond just the SCSI level fabric emulation
> > bits you are mentioning above.
> 
> Can you list us benefits for an average user of that work?

Well, amougst the biggest advantages is actually having a sane ConfigFS
interface that can represent the parent / child relationship between
data structures across multiple LKMs.  Not only does this give us a
proper representation of TCM and fabric data structures that can be
accesses directly by an advanced user in /sys/kernel/config/target/, it
also provides an ideal foundation to build 1) a userspace library in
intrepted languages and 2) create high level applications using said
userspace libraries that allow compatiblity to be contained in the lib
below.

But wrt to actual kernel code (because this is a kernel list), the
shortlog for the RFC posting below nicely sums up what TCM v4 is
bringing to the table:

http://lkml.org/lkml/2010/8/30/88


> >> But all my attempts to explain my view are just blindly
> >> ignored without any considerations, so I have no idea how more I can
> >> explain it.
> >>
> >
> > Then I suggest you learn a better way of communicating your ideas if you
> > really want to work with members of the LIO/STGT development
> > communities.
> >
> > First, I suggest you start explaining your ideas with actual kernel code
> > that is 1) human readable and 2) presented in such a manner that makes
> > it accessable for others with skills possibly different (and greater)
> > than your own to review and give feedback.
> 
> I have sent patches twice, the second time few months ago. Weren't they 
> human readable and accessible for kernel developers who are experts in 
> dealing with sent by e-mail patches?

I think a proper kernel subsystem maintainer workflow has to do alot
more to do these days than just sending patches over email, than it did
say 10 years ago.  Like it or not, git is the language of the mainline
kernel development process, and trying to imagine a *new* kernel
subsystem maintainer (besides say, someone like akpm) not using git is
quite a stretch of the imagination at this point.

Best,

--nab


  reply	other threads:[~2010-08-30 21:50 UTC|newest]

Thread overview: 90+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2010-08-18 14:58 [Scst-devel] Fwd: Re: linuxcon 2010 Chetan Loke
2010-08-18 15:11 ` James Bottomley
     [not found]   ` <AANLkTimJGxn=5kEMH68XVWqFcYG3vpfLjLjZpFGqhG_4@mail.gmail.com>
2010-08-18 15:30     ` Bart Van Assche
2010-08-18 16:04   ` Chetan Loke
2010-08-18 16:18     ` James Bottomley
2010-08-18 17:50       ` Vladislav Bolkhovitin
2010-08-19  1:18         ` jack wang
2010-08-20 13:46           ` Ruben Laban
     [not found]           ` <8A96806D-6CD7-44AD-8A9D-143C098C95A4@uni-paderborn.de>
     [not found]             ` <1282256949.30453.278.camel@haakon2.linux-iscsi.org>
2010-08-21 18:42               ` Vladislav Bolkhovitin
2010-08-21 20:25                 ` Nicholas A. Bellinger
2010-08-24 18:08                   ` Vladislav Bolkhovitin
2010-08-21 20:43                 ` James Bottomley
2010-08-22  7:39                   ` Bart Van Assche
2010-08-22 20:29                     ` James Bottomley
2010-08-23 13:47                       ` Joe Landman
2010-08-23 15:12                         ` Bart Van Assche
     [not found]                         ` <AANLkTim-M6dfLvJQnbieFqZCGG33E+-i+u_soCq2p9f1@mail.gmail.com>
2010-08-23 16:07                           ` Chetan Loke
2010-08-23 18:03                             ` Chetan Loke
2010-08-24  7:25                               ` Pasi Kärkkäinen
2010-08-24 14:43                                 ` Linux I/O subsystem performance (was: linuxcon 2010...) Vladislav Bolkhovitin
2010-08-24 14:55                                   ` Matthew Wilcox
2010-08-24 17:51                                     ` Linux I/O subsystem performance Vladislav Bolkhovitin
2010-08-24 20:40                                       ` Matthew Wilcox
2010-08-24 14:55                                 ` [Scst-devel] Fwd: Re: linuxcon 2010 Chetan Loke
     [not found]                                 ` <4C7404C4.4040704@vlnb.net>
2010-08-24 20:31                                   ` Linux I/O subsystem performance (was: linuxcon 2010...) Chris Worley
2010-08-25 19:12                                     ` Linux I/O subsystem performance Vladislav Bolkhovitin
2010-09-16 15:05                                     ` Linux I/O subsystem performance (was: linuxcon 2010...) Chris Worley
2010-08-23 19:41                       ` [Scst-devel] Fwd: Re: linuxcon 2010 Vladislav Bolkhovitin
2010-08-24 14:41                   ` Vladislav Bolkhovitin
2010-08-24 14:51                     ` Chris Weiss
2010-08-24 14:56                       ` Matthew Wilcox
2010-08-25 22:20                       ` Konrad Rzeszutek Wilk
2010-08-25 22:45                         ` Ted Ts'o
2010-08-24 14:57                     ` James Bottomley
2010-08-24 19:48                       ` Vladislav Bolkhovitin
2010-08-24 21:23                         ` Nicholas A. Bellinger
2010-08-26 20:11                           ` Vladislav Bolkhovitin
2010-08-26 21:23                             ` Nicholas A. Bellinger
2010-08-28 17:32                               ` Vladislav Bolkhovitin
2010-08-28 20:47                                 ` Nicholas A. Bellinger
2010-08-30 20:47                                   ` Vladislav Bolkhovitin
2010-08-30 21:46                                     ` Nicholas A. Bellinger [this message]
2010-09-02 19:38                                       ` Vladislav Bolkhovitin
2010-09-02 20:25                                         ` Nicholas A. Bellinger
2010-09-05 20:18                                           ` Dmitry Torokhov
2010-09-05 21:50                                             ` Nicholas A. Bellinger
2010-09-05 23:13                                               ` Mark Deneen
2010-09-06  0:12                                                 ` Nicholas A. Bellinger
2010-09-06  0:58                                                   ` Mark Deneen
2010-09-06  1:34                                                     ` Nicholas A. Bellinger
2010-09-06  5:04                                                   ` Dmitry Torokhov
2010-09-05 23:41                                               ` Dmitry Torokhov
2010-09-05 23:59                                                 ` Nicholas A. Bellinger
2010-09-06  4:56                                                   ` Dmitry Torokhov
2010-09-06 10:39                                                   ` James Bottomley
2010-09-06 11:02                                                     ` Bart Van Assche
2010-09-06 11:27                                                       ` James Bottomley
2010-09-06 15:26                                                         ` Vladislav Bolkhovitin
2010-09-06 21:47                                                     ` Vladislav Bolkhovitin
2010-09-06 21:55                                                       ` Nicholas A. Bellinger
2010-09-06 22:14                                                         ` david
2010-09-07  0:44                                                         ` Dmitry Torokhov
2010-09-07  3:45                                                           ` Chetan Loke
2010-09-07  6:15                                                             ` Bart Van Assche
2010-09-07  6:08                                                           ` Bart Van Assche
2010-09-07  6:26                                                             ` Dmitry Torokhov
2010-09-07 20:14                                                           ` Vladislav Bolkhovitin
2010-09-07 20:14                                                         ` Vladislav Bolkhovitin
2010-09-06 21:16                                               ` Greg KH
2010-09-06 17:28                                           ` Chetan Loke
2010-09-06 21:52                                           ` Vladislav Bolkhovitin
2010-08-18 17:51       ` Chetan Loke
2010-08-18 16:19   ` Bart Van Assche
2010-08-18 16:28   ` Joe Landman
2010-08-18 17:52     ` Vladislav Bolkhovitin
2010-08-18 15:12 ` Chetan Loke
2010-08-18 17:52 ` Vladislav Bolkhovitin
  -- strict thread matches above, loose matches on Subject: below --
2010-08-20 17:40 Ari Lemmke
2010-08-16 16:20 Fwd: Re: [Scst-devel] " Vladislav Bolkhovitin
2010-08-17 20:30 ` James Bottomley
2010-08-18 17:52   ` Vladislav Bolkhovitin
2010-08-18 20:43     ` James Bottomley
2010-08-21 18:51       ` Vladislav Bolkhovitin
2010-08-21 20:38         ` James Bottomley
2010-08-22 22:10           ` [Scst-devel] Fwd: " Gennadiy Nerubayev
2010-08-23 16:59             ` James Bottomley
2010-08-23 17:44               ` Bart Van Assche
2010-08-23 17:58                 ` James Bottomley
2010-08-23 20:11                   ` Bart Van Assche
2010-08-23 20:21                     ` James Bottomley
2010-08-23 19:40               ` Vladislav Bolkhovitin
2010-08-23 20:38                 ` James Bottomley
2010-08-24 10:32                   ` Bart Van Assche
2010-08-24 13:01                   ` Chris Weiss
2010-08-24 19:53                   ` Vladislav Bolkhovitin
2010-08-23 19:40             ` Vladislav Bolkhovitin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1283204792.32007.448.camel@haakon2.linux-iscsi.org \
    --to=nab@linux-iscsi.org \
    --cc=James.Bottomley@suse.de \
    --cc=chetanloke@gmail.com \
    --cc=dmeister@uni-paderborn.de \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=generationgnu@yahoo.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=scst-devel@lists.sourceforge.net \
    --cc=vst@vlnb.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox