On Thu, Jun 16, 2011 at 20:00, Douglas Gilbert<dgilbert@xxxxxxxxxxxx> wrote:On 11-06-16 01:20 PM, Kay Sievers wrote:On Thu, Jun 16, 2011 at 19:09, Kay Sievers<kay.sievers@xxxxxxxx> wrote:On Thu, Jun 16, 2011 at 18:25, James Bottomley
On Thu, 2011-06-16 at 09:14 -0700, Greg KH wrote:
All userspace naming will be taken care of by the usual udev rules, so
for disks, something like /dev/disk/by-preferred/<fred> which would
the usual symbolic link.
No, udev can not create such a link after the preferred name is set, as
it has no way of knowing that the name was set.
It can if we trigger a uevent. Note: I'm not advocating this ... I'd be
equally happy having whatever sets the kernel name create the link (or
tickle udev to create it). We definitely require device links, though,
to get this to work.
Guess all that would work now, including mount(8) not canonicalizing.
What would happen if we mount:
and some tool later thinks the pretty name should better be 'bar', it
writes the name to /sys, we get a uevent, the old link disappears, we
get a new link, mount has no device node anymore for the mounted
So we basically get a one-shot additional pretty name? Guess, the
_single_ name changed anytime later just asks for serious problems. We
need to set it very early to be really useful, but how, where is it
One obvious candidate for a preferred block device name
- a SATA disk's WWN (NAA 5 64 bit), or
- a SCSI disk's logical unit name (e.g. SAS: NAA 5)
These names (actually numbers) are meant to be world wide
The kernel's device naming (following from how devices are
discovered) is topological. However at higher levels
the user is interested in the device identity. So if
unique device names were used as preferred names and
preferred names were unique (in a Linux system at any
given time) then any subsequent path to an existing device
would be highlighted. [That is because subsequent attempts
to create its preferred name would fail because it is
You don't need thousands of dollars of equipment to
demonstrate this point. An external single disk
SATA enclosure with a USB and eSATA interface will do.
Udev does that already since quite a while. This is my cheap laptop:
# find /dev/disk/ -name "wwn*"