Re: [RFC v2 05/21] tcm: Add ConfigFS subsystem backstore infrastructure

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Wed, 2010-10-06 at 16:25 +0900, FUJITA Tomonori wrote:
> On Wed, 6 Oct 2010 16:09:26 +0900
> FUJITA Tomonori <fujita.tomonori@xxxxxxxxxxxxx> wrote:
> 
> > On Tue, 05 Oct 2010 21:30:42 -0700
> > "Nicholas A. Bellinger" <nab@xxxxxxxxxxxxxxx> wrote:
> > 
> > > I have been thinking about something similar that is needed for the WIP
> > > TCM HW target mode drivers when a:
> > > 
> > > 	mkdir -p /sys/kernel/config/target/$TCM_MOD/$LPORT_WWPN/tpgt_1
> > > 
> > > happens the WWPN is coming from HW.  This currently looks like something
> > > along the lines of the following for tcm_lpfc:
> > > 
> > > http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=blob;f=drivers/target/tcm_lpfc/tcm_lpfc_configfs.c;hb=tcm_lpfc#l227
> > 
> > The above link doesn't work for me so I'm not sure.
> > 
> > But I guess that you are talking about the problem that
> > tcm_lpfc_make_lport() can accept proper hardware port addresses. We
> > are on the same page if so.
> > 
> > 
> > > The main issue here is that the user still needs to know the $LPORT_WWPN
> > > before hand (either from looking at a sticker on the card, or via
> > > another method) in order to preform the initial TFO->fabric_make_wwn()
> > > -> $TCM_MOD_make_wwn() operation.  So what we need is a configfs attrib
> > > at the top level TCM fabric group in order to see a list of the
> > > available hardware ports from the specific $TCM_MOD.  What I was
> > > thinking for TCM HW fabric module ports would be to have something like:
> > > 
> > > 	/sys/kernel/config/target/$TCM_MOD/hw_ports
> > > 
> > > that would walk the struct pci_dev looking for fabric module specific HW
> > > target mode capabilities.  I assume this is what you had in mind for
> > > drivers/scsi/ibmvscsi as well, yes..?
> > 
> > Doesn't sound so.
> > 
> > I want the driver to create necessary target directories in
> > /sys/kernel/config/target/ibmvscsit/ automatically.
> 
> In addition, I also think that /sys/kernel/config/target/$TCM_MOD
> should show up automatically when I load the module.
> 
> vine:/home/fujita# modprobe iscsi_target_mod
> 
> Then why do I need to create iscsi directory by hand?

Because configfs is driven by completely userspace syscalls.  8-)

> 
> vine:/home/fujita# mkdir /sys/kernel/config/target/iscsi
> 

Actually, these is an LKM autoload feature for LIO-Target and TCM_Loop
currently in place when:

	mkdir /sys/kernel/config/target/[iscsi,loopback]

occurs and propigates through target_Core_configfs.c code into
target_core_register_fabric() here:

http://git.kernel.org/?p=linux/kernel/git/nab/lio-core-2.6.git;a=blob;f=drivers/target/target_core_configfs.c;hb=lio-4.0#l144

Other than these two hardcoded cases (I plan to add these as new modules
are merged into mainline), the userspace code is expected to:

	 modprobe $TCM_FAB_MOD ;
	 mkdir /sys/kernel/config/target/$FAB_MOD

in order to access the top level generic fabric directory/group in
target_core_fabric_configfs.c code.

> 
> btw, 'iscsi' needs to renamed to iscsi_tcp or something like that?

I was thinking here to keep the default software iSCSI LIO-Target code
to use 'iscsi' and use add a seperate iSCSI HW target mode with a iscsi_
$HWNAME prefix as necessary for the existing iSCSI HW TOE cases.  

However there is a certain flavour of iSCSI HW target offload silicon
currently in development that I am considering to integrate directly
into LIO-Target code in order to function transparently with existing
LIO kernel code, along with some new fabric configfs attribute knobs for
tuning, debugging, etc.

--nab

--
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


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]
  Powered by Linux