From: Benjamin Marzinski <bmarzins@redhat.com>
To: Martin Wilck <martin.wilck@suse.com>
Cc: Christophe Varoqui <christophe.varoqui@opensvc.com>,
dm-devel@lists.linux.dev, Peter Rajnoha <prajnoha@redhat.com>,
Martin Wilck <mwilck@suse.com>
Subject: Re: [PATCH v2 04/11] 11-dm-mpath.rules: adapt MPATH_DEVICE_READY=0 logic to 10-dm.rules update
Date: Mon, 8 Apr 2024 14:13:25 -0400 [thread overview]
Message-ID: <ZhQzxVNUHuvvmoJs@bmarzins-01.fast.eng.rdu2.dc.redhat.com> (raw)
In-Reply-To: <20240404173814.3143-5-mwilck@suse.com>
On Thu, Apr 04, 2024 at 07:38:07PM +0200, Martin Wilck wrote:
> With the late patches for 10-dm.rules, DM_UDEV_DISABLE_OTHER_RULES_FLAG isn't
> restored from the udev database any more, so we don't need to restore
> the flag to its original state before it is saved to the db.
>
> Signed-off-by: Martin Wilck <mwilck@suse.com>
Reviewed-by: Benjamin Marzinski <bmarzins@redhat.com>
> ---
> multipath/11-dm-mpath.rules.in | 22 ++++++++++++----------
> 1 file changed, 12 insertions(+), 10 deletions(-)
>
> diff --git a/multipath/11-dm-mpath.rules.in b/multipath/11-dm-mpath.rules.in
> index 4386b6c..2f909c3 100644
> --- a/multipath/11-dm-mpath.rules.in
> +++ b/multipath/11-dm-mpath.rules.in
> @@ -19,7 +19,7 @@ ACTION=="add", ENV{DM_ACTIVATION}=="1", ENV{DM_SUSPENDED}!="1", ENV{DISK_RO}!="1
> # If this uevent didn't come from dm, don't try to update the
> # device state
> # Note that .MPATH_DEVICE_READY_OLD=="" here. Thus we won't activate the
> -# device below at force_activation, which is correct.
> +# device below at mpath_is_ready, which is correct.
> ENV{DM_COOKIE}!="?*", ENV{DM_ACTION}!="PATH_*", \
> IMPORT{db}="DM_COLDPLUG_SUSPENDED", \
> GOTO="force_activation"
> @@ -84,25 +84,27 @@ ENV{DM_ACTION}=="PATH_FAILED|PATH_REINSTATED", \
>
> LABEL="force_activation"
>
> +ENV{MPATH_DEVICE_READY}!="0", GOTO="mpath_is_ready"
> # Do not initiate scanning if no path is available,
> # otherwise there would be a hang or IO error on access.
> # We'd like to avoid this, especially within udev processing.
> -ENV{MPATH_DEVICE_READY}=="0", ENV{DM_NOSCAN}="1"
> -
> -# Skip all foreign rules if no path is available.
> +# This is communicated to later rules in DM_NOSCAN.
> +# Likewise, skip all foreign rules if no path is available.
> # Use DM_UDEV_DISABLE_OTHER_RULES_FLAG to communicate this
> -# to upper layers. The original value will be restored in a late
> -# udev rule.
> -ENV{MPATH_DEVICE_READY}=="0", \
> - ENV{.MPATH_SAVE_DISABLE_OTHER_RULES_FLAG}="$env{DM_UDEV_DISABLE_OTHER_RULES_FLAG}", \
> - ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
> +# to upper layers. With dm rules < v3, save the original value here;
> +# it will be restored in a late udev rule.
> +ENV{DM_UDEV_RULES_VSN}=="1|2", \
> + ENV{.MPATH_SAVE_DISABLE_OTHER_RULES_FLAG}="$env{DM_UDEV_DISABLE_OTHER_RULES_FLAG}"
> +ENV{DM_NOSCAN}="1", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1"
> +GOTO="dont_activate"
> +
> +LABEL="mpath_is_ready"
>
> # If the device comes back online, set DM_ACTIVATION so that
> # upper layers do a rescan. If the device is currently suspended,
> # we have to postpone the activation until the next event.
> # In this case, we have to set MPATH_DEVICE_READY=0; otherwise, the
> # MPATH_UNCHANGED logic will cause later rules to skipped in the next event.
> -ENV{MPATH_DEVICE_READY}=="0", GOTO="dont_activate"
> ENV{.MPATH_DEVICE_READY_OLD}!="0", GOTO="dont_activate"
> ENV{DM_SUSPENDED}=="1", ENV{MPATH_DEVICE_READY}="0", GOTO="dont_activate"
>
> --
> 2.44.0
next prev parent reply other threads:[~2024-04-08 18:13 UTC|newest]
Thread overview: 20+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-04-04 17:38 [PATCH v2 00/11] multipath udev rules changes for dm rules V3 Martin Wilck
2024-04-04 17:38 ` [PATCH v2 01/11] 11-dm-mpath.rules: explain logic for device becoming ready while suspended Martin Wilck
2024-04-08 18:01 ` Benjamin Marzinski
2024-04-04 17:38 ` [PATCH v2 02/11] 11-dm-mpath.rules: don't import DM_NOSCAN from udev db Martin Wilck
2024-04-08 18:01 ` Benjamin Marzinski
2024-04-04 17:38 ` [PATCH v2 03/11] 11-dm-mpath.rules: don't import ID_FS_VERSION " Martin Wilck
2024-04-04 17:38 ` [PATCH v2 04/11] 11-dm-mpath.rules: adapt MPATH_DEVICE_READY=0 logic to 10-dm.rules update Martin Wilck
2024-04-08 18:13 ` Benjamin Marzinski [this message]
2024-04-04 17:38 ` [PATCH v2 05/11] 11-dm-mpath.rules: adapt coldplug event handling ro " Martin Wilck
2024-04-08 18:33 ` Benjamin Marzinski
2024-04-04 17:38 ` [PATCH v2 06/11] 11-dm-mpath.rules: don't import properties with new 13-dm-disk.rules Martin Wilck
2024-04-08 18:34 ` Benjamin Marzinski
2024-04-04 17:38 ` [PATCH v2 07/11] 11-dm-mpath.rules: replace DM_SUSPENDED by .DM_SUSPENDED Martin Wilck
2024-04-08 18:40 ` Benjamin Marzinski
2024-04-04 17:38 ` [PATCH v2 08/11] 11-dm-mpath.rules: replace DM_NOSCAN by .DM_NOSCAN Martin Wilck
2024-04-08 18:47 ` Benjamin Marzinski
2024-04-09 13:55 ` Martin Wilck
2024-04-04 17:38 ` [PATCH v2 09/11] 11-dm-mpath.rules: simplify PATH_FAILED case Martin Wilck
2024-04-04 17:38 ` [PATCH v2 10/11] 11-dm-mpath.rules: make label names more intuitive Martin Wilck
2024-04-04 17:38 ` [PATCH v2 11/11] kpartx.rules: ignore DM_SUSPENDED Martin Wilck
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=ZhQzxVNUHuvvmoJs@bmarzins-01.fast.eng.rdu2.dc.redhat.com \
--to=bmarzins@redhat.com \
--cc=christophe.varoqui@opensvc.com \
--cc=dm-devel@lists.linux.dev \
--cc=martin.wilck@suse.com \
--cc=mwilck@suse.com \
--cc=prajnoha@redhat.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).