Re: [PATCH v2 6/7] 11-dm-mpath.rules: Don't force activation while device is suspended
Benjamin Marzinski <[email protected]> Fri, 9 Feb 2024 21:38:44 -0500
| Newsgroups | gmane.linux.lvm.general |
|---|---|
| Message-ID | <ZcbhtFJkq2syENL4__48085.8735086926$1707532751$gmane$org@bmarzins-01.fast.eng.rdu2.dc.redhat.com> |
On Sat, Feb 10, 2024 at 12:27:34AM +0100, Martin Wilck wrote: > If paths become available while the device is suspended, don't > activate. Another uevent will arrive when the device is resumed. > > Signed-off-by: Martin Wilck <[email protected]> Reviewed-by: Benjamin Marzinski <[email protected]> > --- > multipath/11-dm-mpath.rules.in | 12 +++++++++--- > 1 file changed, 9 insertions(+), 3 deletions(-) > > diff --git a/multipath/11-dm-mpath.rules.in b/multipath/11-dm-mpath.rules.in > index 8e8741a..4141833 100644 > --- a/multipath/11-dm-mpath.rules.in > +++ b/multipath/11-dm-mpath.rules.in > @@ -92,10 +92,16 @@ ENV{MPATH_DEVICE_READY}=="0", ENV{DM_NOSCAN}="1" > 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" > + > # If the device comes back online, set DM_ACTIVATION so that > -# upper layers do a rescan. > -ENV{MPATH_DEVICE_READY}!="0", ENV{.MPATH_DEVICE_READY_OLD}=="0", \ > - ENV{DM_ACTIVATION}="1", ENV{MPATH_UNCHANGED}="0" > +# upper layers do a rescan. If the device is currently suspended, > +# we have to postpone the activation until 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" > + > +ENV{DM_ACTIVATION}="1", ENV{MPATH_UNCHANGED}="0" > +LABEL="dont_activate" > > # The code to check multipath state ends here. We need to set > # properties and symlinks regardless whether the map is usable or > -- > 2.43.0