[dm-devel] [PATCH 21/31] 11-dm-mpath.rules: Remember DM_ACTIVATION

Benjamin Marzinski bmarzins at redhat.com
Wed Sep 13 21:19:42 UTC 2017


On Sun, Sep 03, 2017 at 12:38:50AM +0200, Martin Wilck wrote:
> If DM_ACTIVATION is set by the general dm rules, we need to
> bring up this device. But if the mpath device is not ready,
> that would be dangerous; it could hang or produce lots of IO
> errors. So remember this state, and try to activate when the
> map becomes usable later.

NAK. See reasons in

[PATCH 20/31] 11-dm-mpath.rules: don't set READY->ACTIVATION

-Ben

> 
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
>  multipath/11-dm-mpath.rules | 8 ++++++++
>  1 file changed, 8 insertions(+)
> 
> diff --git a/multipath/11-dm-mpath.rules b/multipath/11-dm-mpath.rules
> index 3f47744f..9bfd75f8 100644
> --- a/multipath/11-dm-mpath.rules
> +++ b/multipath/11-dm-mpath.rules
> @@ -4,6 +4,7 @@ ENV{DM_UUID}!="mpath-?*", GOTO="mpath_end"
>  
>  IMPORT{db}="DM_DISABLE_OTHER_RULES_FLAG_OLD"
>  IMPORT{db}="MPATH_DEVICE_READY"
> +IMPORT{db}="MPATH_NEEDS_ACTIVATION"
>  
>  # If this uevent didn't come from dm, don't try to update the
>  # device state
> @@ -55,6 +56,13 @@ ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", ENV{DM_ACTIVATION}="0"
>  # We'd like to avoid this, especially within udev processing.
>  ENV{MPATH_DEVICE_READY}=="0", ENV{DM_NOSCAN}="1"
>  
> +# If DM_ACTIVATION is set, but can't be satisfied, remember it
> +# in MPATH_NEEDS_ACTIVATION, and activate at the next opportunity.
> +ENV{MPATH_DEVICE_READY}=="0", ENV{DM_ACTIVATION}=="1", \
> +	ENV{MPATH_NEEDS_ACTIVATION}="1", ENV{DM_ACTIVATION}="0"
> +ENV{MPATH_DEVICE_READY}!="0", ENV{MPATH_NEEDS_ACTIVATION}=="1", \
> +	ENV{DM_ACTIVATION}="1", ENV{MPATH_NEEDS_ACTIVATION}=""
> +
>  # Also skip all foreign rules if no path is available.
>  # Remember the original value of DM_DISABLE_OTHER_RULES_FLAG
>  # and restore it back once we have at least one path available.
> -- 
> 2.14.0




More information about the dm-devel mailing list