[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Changes in device-mapper and LVM2 that can affect grub's functionali

From: Felix Zielcke
Subject: Re: Changes in device-mapper and LVM2 that can affect grub's functionality
Date: Wed, 09 Sep 2009 12:26:32 +0200

Am Mittwoch, den 09.09.2009, 12:01 +0200 schrieb Peter Rajnoha:
> Hi,
> (I'm speaking for the LVM/DM team)
> we have integrated official udev support for device-mapper/LVM
> devices lately which is now part of upstream LVM release (however
> it's still turned off in default configuration). This includes
> our own udev rules responsible for creating /dev nodes and
> associated symlinks.
> After discussing this with the udev team, we decided to create
> DM nodes directly in /dev (with the kernel name of that particular
> DM device, which is "dm-X", X being a number for now). The /dev/mapper
> contains symlinks to these nodes then. This seems to be a standard
> solution from udev point of view which is considered to be correct.
> We would like to comply with this standard.
> As for the LVM subsystem, the symlinks stay like in the old non-udev
> approach -- /dev/VG_NAME subdir containing symlinks with LV names that
> point to appropriate DM devices. The change here is only in their
> target -- they point to /dev/dm-X devices now, not /dev/mapper ones.
> However, we have to consider that not all configurations will have
> this udev support turned on, therefore we still keep the old code
> responsible for direct creation of the nodes/symlinks (this feature
> can be turned on/off by particular configuration option).
> Also, if we detect that udev daemon is not running or node/symlink
> creation has failed for any reason, we fallback to the old way
> of node/symlink creation.
> To sum it up briefly, this means we have two layouts that should
> be supported:
> 1. old layout -- nodes /dev/mapper/DM_NAME,
>                  symlinks /dev/VG_NAME/LV_NAME
> 2. new (udev) layout -- nodes /dev/dm-X,
>                         symlinks /dev/mapper/DM_NAME
>                         symlinks /dev/VG_NAME/LV_NAME
> Such layout breaks grub-probe because of the symlinks used afaik
> (particularly "find_root_device" function that is used in this
> situation).
> My question is if supporting this would be a problem from grub's
> point of view and if appropriate corrections could be made.
> Also, I've spotted that you use some hardcodings in your code,
> particularly when filtering out /dev/dm-[0-9] devices
> (e.g. in "find_root_device" fn). The thing is that this number
> part of the DM name could be changed in the future, so such
> assumptions should not be made as well.
> I'd like to open a discussion here and any comments are welcome
> so finally we could end up with a working solution.

What's the point in having the /dev/dm-X devices at all?
Does anything use them?

Currently all symlinks are ignored.
If we use the target of the /dev/mapper/* symlinks, i.e. a /dev/dm-X
device this would at least with the default Debian initrd not work and I
doubt the responding persons for this will change this ever. Even
root=UUID= isn't working for LVM devices, because only the root LV is
activated and not all inside the initrd.

If we would use the symlink itself for root= it could break if there
were symlinks which aren't inside the initrd too.

I personally don't like this change at all.
Why not just remove the dm-X devices and make the /dev/mapper/ ones the
only and real ones?
Maybe the udev maintainers just prefer cryptic numbers for every real
device and only accept symlinks for descriptive ones.

Felix Zielcke
Proud Debian Maintainer

reply via email to

[Prev in Thread] Current Thread [Next in Thread]