Re: [RFC/PATCH] Give --persistent_policy precedence over /dev/mapper names

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

 



On 05.10.2016 14:13, Martin Wilck wrote:
> There is currently no way to override dracut's preference for
> /dev/mapper device names. But using these is problematic in
> different scenarios: For example, if a user has a multipath-
> enabled system but wants to disable multipath, or if the
> names of multipath maps change because of configuration changes
> (e.g. toggling user_friendly_names in /etc/multipath.conf).
> 
> This patch makes dracut prefer the user-specified
> --persistent_policy names over /dev/mapper names.
> 
> It might be worthwhile to discuss why dracut prefers /dev/mapper
> of /dev/disk/by-uuid at all. This preference was introduced
> in 9037b63e with the argument "dm devices maintain /dev/mapper/* as
> persistent names", but that's wrong for the scenarios mentioned
> above, and is not a compelling reason for preferring /dev/mapper
> over /dev/disk/by-uuid.
> 
> Signed-off-by: Martin Wilck <mwilck@xxxxxxx>
> ---
>  dracut-functions.sh | 10 ++++++++--
>  1 file changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/dracut-functions.sh b/dracut-functions.sh
> index 249d8fb..e97765d 100755
> --- a/dracut-functions.sh
> +++ b/dracut-functions.sh
> @@ -223,14 +223,20 @@ get_devpath_block() {
>  
>  # get a persistent path from a device
>  get_persistent_dev() {
> -    local i _tmp _dev
> +    local i _tmp _dev _pol
>  
>      _dev=$(get_maj_min "$1")
>      [ -z "$_dev" ] && return
>  
> +    if [[ -n "$persistent_policy" ]]; then
> +	_pol="/dev/disk/${persistent_policy}/*"
> +    else
> +	_pol=
> +    fi
> +
>      for i in \
> +        $_pol \
>          /dev/mapper/* \
> -        /dev/disk/${persistent_policy:-by-uuid}/* \
>          /dev/disk/by-uuid/* \
>          /dev/disk/by-label/* \
>          /dev/disk/by-partuuid/* \
> 

looks good to me.
I would even do:
<https://github.com/dracutdevs/dracut/pull/166/files>
in PR
<https://github.com/dracutdevs/dracut/pull/166>

Which lets us set persistent_policy to something like:
persistent_policy="mapper by-uuid by-label"
or
persistent_policy=(by-label by-id by-path by-partuuid)

What do you think?
--
To unsubscribe from this list: send the line "unsubscribe initramfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Kernel]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux SCSI]

  Powered by Linux