[dm-devel] [PATCH v2 2/2] kpartx.rules: check for skip_kpartx on synthetic uevents

Benjamin Marzinski bmarzins at redhat.com
Fri Apr 3 16:48:28 UTC 2020


On Fri, Apr 03, 2020 at 01:19:14PM +0200, mwilck at suse.com wrote:
> From: Martin Wilck <mwilck at suse.com>
> 
> The current test to detect "spurious" uevents, and thus whether to
> import DM_SUBSYSTEM_UDEV_FLAG1 (the flag for the "skip_kpartx" option)
> from the udev db is wrong. In 10-dm.rules, DM_UDEV_PRIMARY_SOURCE_FLAG
> is imported from the db if it isn't set, meaning that it's always 1
> for active maps. The only events for which DM_SUBSYSTEM_UDEV_FLAG1
> must not be loaded from the db are the real "primary" events, which
> are "change" events with DM_ACTIVATION=="1".
> 
> 11-dm-mpath.rules resets DM_ACTIVATION to 0 if nothing should change in upper
> layers. In this case importing DM_SUBSYSTEM_UDEV_FLAG1 is correct, too. kpartx
> will not be called anyway, because 11-dm-mpath.rules also sets MPATH_UNCHANGED=1.
> 

Reviewed-by: Benjamin Marzinski <bmarzins at redhat.com>
> Signed-off-by: Martin Wilck <mwilck at suse.com>
> ---
>  kpartx/kpartx.rules | 7 +++++--
>  1 file changed, 5 insertions(+), 2 deletions(-)
> 
> diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
> index f1bf31ca..d7527d7d 100644
> --- a/kpartx/kpartx.rules
> +++ b/kpartx/kpartx.rules
> @@ -13,8 +13,11 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="kpartx_end"
>  ENV{DM_UUID}!="mpath-?*", GOTO="mpath_kpartx_end"
>  
>  # DM_SUBSYSTEM_UDEV_FLAG1 is the "skip_kpartx" flag.
> -# For events not generated by libdevmapper, we need to fetch it from db.
> -ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
> +# For events not generated by libdevmapper, we need to fetch it from db:
> +# - "change" events with DM_ACTIVATION!="1" (e.g. partition table changes)
> +# - "add" events for which rules are not disabled ("coldplug" case)
> +ENV{DM_ACTIVATION}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
> +ACTION=="add", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
>  ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="mpath_kpartx_end"
>  
>  # 11-dm-mpath.rules sets MPATH_UNCHANGED for events that can be ignored.
> -- 
> 2.25.1




More information about the dm-devel mailing list