Re: [PATCH 1/3] [RFC] genhd: add a new attribute in device structure

From: Douglas Gilbert
Date: Thu Jun 16 2011 - 14:01:19 EST


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
<James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
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 be
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:
/dev/disk/by-pretty/foo
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
device ...

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
coming from?

One obvious candidate for a preferred block device name
is:
- 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
unique.

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
already there.]

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.

Doug Gilbert


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