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

From: Kay Sievers
Date: Fri Jun 17 2011 - 10:40:48 EST


On Fri, Jun 17, 2011 at 16:27, James Bottomley
<James.Bottomley@xxxxxxxxxxxxxxxxxxxxx> wrote:
> On Fri, 2011-06-17 at 01:04 +0200, Kay Sievers wrote:
>> >> We need many names, and we need all of them from the very
>> beginning,
>> >> and they should not change during device lifetime unless the device
>> >> state changes.
>> >
>> > So that's actually an argument for leaving the links, surely? ÂWe
>> can
>> > have many inbound links, but the kernel can only print one name in
>> > messages, which would be the preferred name that was currently set.
>>
>> I really question any concept of _the_ name. My take on it: It will
>> never work in reality.
>
> OK, so lets take the common example: a desktop with three disks and an
> enclosure with three slots and labels "fred", "jim", and "betty".
>
> The desired outcome is that whenever the user manipulates those devices
> he uses a name related to the label, so whenever dmesg flags a problem,
> it says sd betty: Âdevice offline or something. ÂWhenever he mounts, he
> mounts by /dev/disk/by-preferred/betty (or whatever the current udev
> vernacular is). ÂWhenever smartmon says there's an over temp problem. it
> says that fred has it; Âcat /proc/partitions shows how fred, jim and
> betty are partitioned and so on.
>
> To do this, we set the preferred name at start of day via a machine
> specific customisation. ÂFor an enclosure, there's a standard way of
> mapping the name to the device, so we'd just use that, but it's not
> impossible to imagine systems with stranger entities that require per
> motherboard customisations.
>
> Once the name is set in boot up, we, in fact, never alter it.
>
> With the kernel patch proposed and a corresponding update to udev
> actually makes all the above happen. ÂThere have to be tweaks to the
> startup scripts, like smartd needs a file configuration that lists the
> disk by preferred path so that the output is correct.
>
> Obviously, I chose the commands above so there is no need to modify any
> of them. ÂThere will be utilities (like overly smart san managers) that
> do derive the name and will need updating, but they're not among the
> standard workstation admin tools.

Ok, the still remaining questions:

Why isn't logging all symlink names during device discovery solving
all the problems we discuss without any change to the kernel? It's
just a single udev rule that can be added to ages old systems today. I
think that solves exactly the same problem and works with many names
at the same time.

Where is "fred", "jim", and "betty" stored on bootup?

What are the keys to match the pretty names to the disks?

The pretty name is a one-shot setting only? If not how is a change
handled for already used devices?

How will this information be available in the initramfs, where
mutltiple disks might need to be mounted already? Initramfs images are
generic and not created per host.

How are multipath setups handled where the exact same disk is behind
multiple kernel devices? What to put into these names in this case?

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