Re: IDs

Patrick Mansfield (patmans@us.ibm.com)
Tue, 7 Jan 2003 10:02:09 -0800


On Tue, Jan 07, 2003 at 11:55:00AM +0100, Andries.Brouwer@cwi.nl wrote:

> > But, we don't have to truncate, we should just allocate as many bytes as
> > we need, and store the information.
>
> > And, the sysfs name should not store the id.

>
> OK. It seems that we are in total agreement.
> Time for the next question.
>
> An id is constructed, that in many cases identifies something.
> How do you plan to use this? Is it already in use somewhere?

It's not in use in the main-line kernel.

I forgot to mention that I'm using the id in scsi mid-level multi-path
code, it has the same problem (the id is not always unique, plus other
major issues to deal with).

I'm not working on any device naming/persistence code, although I have
given thought to solutions. Any solution there might apply to multi-path
usage. But the multi-path cannot easily be moved to user space until we
have complete user level scsi scanning.

Is anyone currently writing device name solutions based on the scsi id?

> The sysfs tree does not contain device nodes.
> Do you plan a user space utility that figures out that
> the ID "SHP CD-Writer+ 8200 [" belongs to /dev/hdd
> which also is /dev/sr0?

With the current code, any utility would be scsi specific (it could only
name scsi devices based on an id, others would get a default name), so it
would only cover /dev/sr0. I don't know much about IDE capabilities.

> The id is not suitable as a user space name. Moreover,
> it is a heuristic only, and user space needs unambiguous names.

If we had a complete white/black list of devices with/without a unique id,
there would be no ambiguity. Such a list could be generated by asking the
user/administrator each time an unknown device is added to the system (or
have a safe default); we could also have a white/black somewhere (for use
from user space), much like we have with scsi_static_device_list in
scsi_scan.c today.

A user level white/black list is also useful for scanning, especially for
user level scanning, and for kernel scanning if we can access it before
starting the scan (via ramdisk at boot time).

> What user space names do you want to use?

Maybe have a configurable starting point (like /devnames, maybe
something that does not collide with /dev, perhaps we can generate a
/dev matching exactly what we have today), much like a mount point, or
like devfs. I don't know of any good reasons for a file system.

In any case, right now we should fix the scsi sysfs name, and add (and not
truncate) a uid to scsi_device.

-- Patrick Mansfield
-
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/