linux-scsi.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: James Bottomley <James.Bottomley@suse.de>
To: "Nicholas A. Bellinger" <nab@linux-iscsi.org>
Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>,
	linux-scsi@vger.kernel.org, hch@lst.de, michaelc@cs.wisc.edu,
	hare@suse.de, bharrosh@panasas.com
Subject: Re: [PATCH-v2 00/14] iscsi-target: iSCSI target v4.1.0-rc1 series initial merge
Date: Thu, 24 Mar 2011 19:18:53 -0500	[thread overview]
Message-ID: <1301012333.4087.24.camel@mulgrave.site> (raw)
In-Reply-To: <1300949980.18039.222.camel@haakon2.linux-iscsi.org>

On Wed, 2011-03-23 at 23:59 -0700, Nicholas A. Bellinger wrote:
> On Thu, 2011-03-24 at 10:29 +0900, FUJITA Tomonori wrote:
> > On Wed, 23 Mar 2011 16:28:37 -0700
> > "Nicholas A. Bellinger" <nab@linux-iscsi.org> wrote:
> > 
> > > > Hmm, you prefer 'zero C userspace code'? On the other hand, you insist
> > > > that requiring user Python userspace code to set up ibmvscsis is a
> > > > better approach even when the kernel space can set up everything for
> > > > ibmvscsis?
> > > > 
> > > 
> > > Yes, because we expect userspace to drive creation of the current
> > > configfs group layout.
> > > 
> > > The configfs maintainer explictly requested to drop the ability to drive
> > > the config_group creation from kernel-space that I had implemented
> > > originally, and which has not been included in the mainline target v4.0
> > > control plane.
> > > 
> > > It's folks like Joel and Greg-KH that need to be convinced in order for
> > > me to consider this type of logic for for mainline target code.  I do
> > 
> > Can you stop insisting that configfs can't do that so the target core
> > can't do that?
> > 
> 
> That's certainly not what I am insisting upon.  I am trying to explain
> that we currently have a configfs control plane that is native for
> target mode.
> 
> In the last three years to get to this point, I have developed prototype
> code and asked upstream review for:
> 
> *) Creating logic to drive configuration from kernel-space for configfs
> *) Tried at creating sysfs -> configfs symlinks for referencing target
> core backend devices
> 
> So far both of these attempts at patches have been firmly rejected by
> the configfs and sysfs maintainers.
> 
> I am not saying that configfs is the end-all for all generic target mode
> control plane, but what I am saying is that I have yet to see the code
> for a different control plane that makes me want to move the away from a
> 'native configfs' to 'a configfs/sysfs hyrbid', or something else all
> together for mainline target code.

OK, so what about an upcall to userspace to create the necessary
directories?  That could be driven by the kernel and still not require
any implementation in configfs.

> > We should think about what is the best design for the target code
> > first.
> > 
> > > > And iSCSI setup usually needs userspace code such as iSNS
> > > > anyway. You'll add iSNS to kernel too.
> > > > 
> > > 
> > > iSNS should be walking the /sys/kernel/config/target/iscsi layout, and
> > > should not require any kernel code at all.
> > 
> > How you draw the line? Why iSNS can live in user space?
> > 
> > For example, you say that iSNS should live in user space. The similar
> > feature to sending the list of target lives in kernel space.
> > 
> > 
> 
> iSNS is a seperate protocol, and there is no hard-requirement of iSNS
> client logic to be in place in order for basic iSCSI login to function.
> 
> > > What about for the boot1.kernel.org cases where we can expect 1000s of
> > > R/O clients in the future to a proper 10 Gb/sec uplink.  
> > > 
> > > Why do all of these types of logins need to talk with a userspace login
> > > queue interface?
> > 
> > I prefer less kernel space code.
> > 
> > 
> > >  Why do we need to worry about an interface in the
> > > first place for the standard iSCSI login case..?  What happens if this
> > > daemon is unexpectedly killed..?  Do I now have to worry about
> > 
> > Can you stop such pointless argument? What happens if the iscsi target
> > kernel module crashed?
> > 
> > Linux systems already depend on some essential user space daemons. We
> > know how to deal with them.
> > 
> > 
> 
> Sorry, but I have no interest in adding the extra complexity to handle
> this for the default case.

Look at it this way: there's no way an implementation of all the RFC3720
authentication methods (let alone the extensions) is going into the
kernel, so you need a user space interface anyway.  Once you have one,
creating two paths: one in-kernel and one via upcall just doubles the
maintenance load and the amount of work that has to be done fixing bugs.
As far as I can see, authentication isn't in the fast path, so there's
no real need for any of it to be in-kernel in the first place.

James



  reply	other threads:[~2011-03-25  0:19 UTC|newest]

Thread overview: 40+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-03-23  3:06 [PATCH-v2 00/14] iscsi-target: iSCSI target v4.1.0-rc1 series initial merge Nicholas A. Bellinger
2011-03-23  3:06 ` Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 01/14] iscsi: Resolve iscsi_proto.h naming conflicts with drivers/target/iscsi Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 02/14] iscsi: Add Serial Number Arithmetic LT and GT into iscsi_proto.h Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 03/14] target: Convert REPORT_LUNs to use int_to_scsilun Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 04/14] iscsi-target: Add iSCSI fabric support for target v4 Nicholas A. Bellinger
2011-04-07  7:34   ` Mike Christie
2011-05-09 16:22     ` Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 05/14] iscsi-target: Add TCM v4 compatiable ConfigFS control plane Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 06/14] iscsi-target: Add configfs fabric dependent statistics Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 07/14] iscsi-target: Add TPG and Device logic Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 08/14] iscsi-target: Add iSCSI Login Negotiation and Parameter logic Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 09/14] iscsi-target: Add CHAP Authentication support using libcrypto Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 10/14] iscsi-target: Add Sequence/PDU list + DataIN response logic Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 11/14] iscsi-target: Add iSCSI Error Recovery Hierarchy support Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 12/14] iscsi-target: Add support for task management operations Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 13/14] iscsi-target: Add misc utility and debug logic Nicholas A. Bellinger
2011-03-23  3:06 ` [PATCH-v2 14/14] iscsi-target: Add Makefile/Kconfig and update TCM top level Nicholas A. Bellinger
2011-03-23  8:54 ` [PATCH-v2 00/14] iscsi-target: iSCSI target v4.1.0-rc1 series initial merge FUJITA Tomonori
2011-03-23 10:22   ` Nicholas A. Bellinger
2011-03-23 11:07     ` FUJITA Tomonori
2011-03-23 21:37       ` Nicholas A. Bellinger
2011-03-23 22:46         ` FUJITA Tomonori
2011-03-23 23:28           ` Nicholas A. Bellinger
2011-03-24  1:29             ` FUJITA Tomonori
2011-03-24  6:59               ` Nicholas A. Bellinger
2011-03-25  0:18                 ` James Bottomley [this message]
2011-03-25 11:31                   ` Bart Van Assche
2011-03-25 15:06                     ` James Bottomley
2011-03-25 18:44                       ` Bart Van Assche
2011-03-25 19:34                         ` James Bottomley
2011-03-25 19:49                           ` Bart Van Assche
2011-03-25 19:54                             ` James Bottomley
2011-03-25 20:05                               ` Bart Van Assche
2011-03-25 21:14                   ` Nicholas A. Bellinger
2011-03-27 10:02                     ` FUJITA Tomonori
2011-03-28  8:30                       ` Nicholas A. Bellinger
2011-03-28  8:33                         ` FUJITA Tomonori
2011-03-27 10:02                 ` FUJITA Tomonori
2011-03-28  8:53                   ` Nicholas A. Bellinger

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=1301012333.4087.24.camel@mulgrave.site \
    --to=james.bottomley@suse.de \
    --cc=bharrosh@panasas.com \
    --cc=fujita.tomonori@lab.ntt.co.jp \
    --cc=hare@suse.de \
    --cc=hch@lst.de \
    --cc=linux-scsi@vger.kernel.org \
    --cc=michaelc@cs.wisc.edu \
    --cc=nab@linux-iscsi.org \
    /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;
as well as URLs for NNTP newsgroup(s).