Re: [PATCH v3] dracut: Verify multipath config_dir option

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

 



On Tue, 2020-02-04 at 10:42 +0530, Milan P. Gandhi wrote:
> The 90multipath/module-setup.sh file currently does not check the
> dm-multipath config_dir option. This option in multipath.conf file is
> used to specify a custom directory/path that contains the multipath
> configuration files. It's default value is /etc/multipath/conf.d
> 
> Currently install function of module-setup.sh has hardcoded the above
> path, but users could change it with config_dir option. So, adding
> steps to read the path specified with config_dir option and add
> these configuration files to the initial ram disk image.
> 
> Signed-off-by: Milan P. Gandhi <mgandhi@xxxxxxxxxx>
> ---
> 
> changes v3:
>  - Removed awk/sed usage to get config_dir path
>  - Added a check to verify if path specifed with
>    config_dir is actual directory
>  - Used derror to report invalid config_dir path
> 
>  modules.d/90multipath/module-setup.sh | 16 +++++++++++++++-
>  1 file changed, 15 insertions(+), 1 deletion(-)

Reviewed-by: Martin Wilck <mwilck@xxxxxxxx>

> 
> diff --git a/modules.d/90multipath/module-setup.sh
> b/modules.d/90multipath/module-setup.sh
> index 48a9d09a..2f6d1f7a 100755
> --- a/modules.d/90multipath/module-setup.sh
> +++ b/modules.d/90multipath/module-setup.sh
> @@ -79,6 +79,20 @@ install() {
>          }
>      }
>  
> +    # Include multipath configuration files from path specified with
> config_dir
> +    while read _k _v; do
> +        if [[ "$_k" = config_dir ]]; then
> +            _v=${_v#\"}
> +            config_dir=${_v%\"}
> +        fi
> +    done < <(/sbin/multipath -t)
> +
> +    if [ -d "$config_dir" ]; then
> +        config_dir+="/*"
> +    else
> +        derror "multipath.conf: config_dir - No such directory
> $config_dir"
> +    fi
> +
>      inst_multiple -o  \
>          dmsetup \
>          kpartx \
> @@ -91,7 +105,7 @@ install() {
>          /etc/xdrdevices.conf \
>          /etc/multipath.conf \
>          /etc/multipath/* \
> -        /etc/multipath/conf.d/*
> +        $config_dir
>  
>      [[ $hostonly ]] && [[ $hostonly_mode = "strict" ]] && {
>          for_each_host_dev_and_slaves_all add_hostonly_mpath_conf





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

  Powered by Linux