lkml.org 
[lkml]   [2003]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: Does sysfs really provides persistent hardware path to devices?
Date
On Tuesday 19 August 2003 00:42, Greg KH wrote:
> On Mon, Aug 18, 2003 at 10:21:22AM +0400, "Andrey Borzenkov" wrote:
> > just to show what I expected from sysfs - here is entry from Solaris
> > /devices:
> >
> > brw-r----- 1 root sys 32,240 Jan 24 2002
> > /devices/pci@16,4000/scsi@5,1/sd@0,0:a
> >
> > this entry identifies disk partition 0 on drive with SCSI ID 0, LUN 0
> > connected to bus 1 of controller in slot 5 of PCI bus identified
> > by 16. Now you can use whatever policy you like to give human
> > meaningful name to this entry. And if you have USB it will continue
> > further giving you exact topology starting from the root of your
> > device tree.
> >
> > and this path does not contain single logical id so it is not subject
> > to change if I add the same controller somewhere else.
> >
> > hopefully it clarifies what I mean ...
>
> Hm, a bit. First, have you looked at what sysfs provides? Here's one
> of my machines and tell me if it has all the info you are looking for:
>
> $ tree /sys/bus/scsi/
> /sys/bus/scsi/
>
> |-- devices
> | `-- 0:0:0:0 ->
> | ../../../devices/pci0000:00/0000:00:1e.0/0000:02:05.0/host0/0:0:0:0
^ ^unstable
[...]
>
> Now, from that you can see exactly where my scsi device is in the pci
> tree, and you can see in the block directory, what block device is
> assigned to what physical device in the device tree. Then there are 4
> partitions on this disk, all what those specific paramaters.
>
> So, when sda shows up, udev can determine that it lives on a specific
> scsi device, located in a specific place in the pci space, and that it
> has some number of partitions, all of specific sizes, wich specific
> major/minor numbers. It can then create all of the /dev links based on
> this.
>
> Please, take a few minutes looking at the existing sysfs tree on Linux.
> If you then have any specific questions, I would be glad to answer
> them.
>

Now I have to ask - do we discuss udev-0.2 (what I currently have) or
udev-as-it-can-be-in-fututure?

In udev-0.2 I cannot do it. I can say I want

TOPOLOGY, BUS="scsi", place="0.0.0.0", NAME="jaz"

but the next time I plug in SCSI card the host number changes. Even after I
unplug USB stick and plug it again it gets new host number.

And the same applies to USB, PCI and whatever. Sysfs exports entity numbers as
kernel enumerates them; while Solaris exports persistent device tree leaving
enumeration to user-level tools. Which means that if hardware changes for
whatever reason enumeration changes as well and your config becomes invalid.

> Hope this helps,
>

Well, we did not move a tiny bit since the beginning of this thread :) You
still did not show me namedev configuration that implements persistent name
for a device based on its physical location :)))

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

\
 
 \ /
  Last update: 2005-03-22 13:48    [W:0.359 / U:0.252 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site