Re: [PATCH v2] libata: export host controller number thru /sys

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

 



I see. But this behavior """numbers which are entirely independent of
driver probing order.""" is not consistent with the rest of scsi
subsystem: for instance scsi_host are named using a global number as
well; sas object naming is completely dependent on the probing order.
The idea behind using the global number is to be able to link ata
objects to their pci object parent as they are named in dmesg, so that
we see error messages in dmesg we could locate the whole topology.

The name of the object needs to contain <global port>.
If we want to add <local port> , to be consistent with sas sysfs, I
suggest <object_name><global port><separator><local port> syntax.
<separator> is ':' for scsi transport, but I used '.' already, so we
can continue with it.

Gwendal.


On Tue, Jan 22, 2013 at 8:29 PM, Kay Sievers <kay@xxxxxxxx> wrote:
>
> On Tue, Jan 22, 2013 at 10:44 PM, David Milburn <dmilburn@xxxxxxxxxx> wrote:
> > Gwendal Grignou wrote:
> >>
> >> <resent as text 2>
> >> Although your solution works, it breaks the current numbering. The X
> >> in <pci-path>/ataX/link<..> has changed meaning, and it is not obvious
> >> to an untrained eyes.
> >> If we are willing to change, could we reconsider the patches in
> >> "Insert ATA transport objects in SCSI syfs topology"? These patches
> >> also makes udev rules easier to write, given we have scsi host id
> >> available in the path.
> >
> > Hi Gwendal,
> >
> > I applied
> >
> > http://marc.info/?l=linux-ide&m=134911579601940&w=2
> > http://marc.info/?l=linux-ide&m=134911580102060&w=2
> > http://marc.info/?l=linux-ide&m=134931181222435&w=2
> >
> > # find . -name 'sd*' -print
> > ./0000:00:1e.0/0000:05:01.0/host6/port7/link7.0/dev7.0.0/target6:0:0/6:0:0:0/block/sdd
> > ./0000:00:1e.0/0000:05:01.0/host6/port7/link7.0/dev7.0.0/target6:0:0/6:0:0:0/block/sdd/sdd1
> > ./0000:00:1e.0/0000:05:01.0/host6/port7/link7.0/dev7.0.0/target6:0:0/6:0:0:0/block/sdd/sdd2
> > ./0000:00:1e.0/0000:05:01.0/host6/port7/link7.3/dev7.3.0/target6:3:0/6:3:0:0/block/sde
> > ./0000:00:1e.0/0000:05:01.0/host6/port7/link7.3/dev7.3.0/target6:3:0/6:3:0:0/block/sde/sde1
> > ./0000:00:1e.0/0000:05:01.0/host6/port7/link7.3/dev7.3.0/target6:3:0/6:3:0:0/block/sde/sde2
> > ./0000:00:1f.2/host1/port2/link2/dev2.0/target1:0:0/1:0:0:0/block/sda
> > ./0000:00:1f.2/host1/port2/link2/dev2.0/target1:0:0/1:0:0:0/block/sda/sda1
> > ./0000:00:1f.2/host1/port2/link2/dev2.0/target1:0:0/1:0:0:0/block/sda/sda2
> >
> > ./0000:00:1f.2/host3/port4/link4/dev4.0/target3:0:0/3:0:0:0/block/sdb/sdb1
> > ./0000:00:1f.2/host3/port4/link4/dev4.0/target3:0:0/3:0:0:0/block/sdb/sdb2
> > ./0000:00:1f.2/host4/port5/link5/dev5.0/target4:0:0/4:0:0:0/block/sdc
> > ./0000:00:1f.2/host4/port5/link5/dev5.0/target4:0:0/4:0:0:0/block/sdc/sdc1
> >
> > I think Kay still wants us to avoid using the global ap->print_id, he
> > expects local
> > port numbers per controller, for instance, port7 is really port1.
>
> Right, I need numbers which are entirely independent of driver probing
> order. The should all start locally and span multiple independent
> controllers/drivers/devices.
>
> I kind of like it when the topology appears directly in the device hierarchy.
>
> We could append the local number just as as .<local port> to the
> existing number, or we dould add a sysfs attribute(file) to the
> device, containing just the local port number.
>
> Both should work to retrieve the information and compose a string out
> of it, to create a by-path/ symlink, which will not change when the
> multiple drivers are loaded in different orders, or if devices are
> unplugged and re-plugged during runtime of the machine.
>
> Thanks,
> Kay
--
To unsubscribe from this list: send the line "unsubscribe linux-ide" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystems]     [Linux SCSI]     [Linux RAID]     [Git]     [Kernel Newbies]     [Linux Newbie]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Samba]     [Device Mapper]

  Powered by Linux