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

From: Nicholas A. Bellinger
Date: Wed Oct 06 2010 - 03:26:53 EST


On Wed, 2010-10-06 at 16:09 +0900, FUJITA Tomonori 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.
>

Hmmm, this URL still is working OK for me..?

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

Well, just what the list of possible/available hardware WWNs that the
fabric module will be referencing for the individual:

mkdir -p /sys/kernel/config/target/$TCM_FAB_MOD/$FABRIC_WWPN

to locate and initialize the per HW port context fabric module configfs
group.

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

Hmmmm, well configfs is entirely driven by userspace syscalls, so we
want to try to avoid doing this (jlbec CC'ed). We want userspace code
to parse a list of these values from sysfs+configfs and use these
individual HW WWPN value(s) as the directory/group names for the
mkdir(2) mentioned above.

> And 'hw_ports' looks unnecessary because fc drivers already provide
> such information under /sys/class/, I think.
> --

Well, it really depends on what is required for individual target fabric
modules I think, and perhaps could contain some other useful information
about target mode HW specific available resources. For the HW FC +
libfc case, as long as the LLD continues to register TARGET_MODE capable
HW ports in /sys/class, I think we should be good to go.

--nab


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/