On Sun, Mar 24, 2024 at 10:12:51PM +0100, Martin Wilck wrote: > MPATH_DEVICE_READY is an internal property, not to be consumed by > later rules. It means that there are no usable paths. Being suspended > is a different, independent property of a map. > > Don't set MPATH_DEVICE_READY=0 for suspended devices. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > --- > multipath/11-dm-mpath.rules.in | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/multipath/11-dm-mpath.rules.in b/multipath/11-dm-mpath.rules.in > index d9585ab..3f23108 100644 > --- a/multipath/11-dm-mpath.rules.in > +++ b/multipath/11-dm-mpath.rules.in > @@ -100,7 +100,7 @@ ENV{MPATH_DEVICE_READY}=="0", \ > # 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_SUSPENDED}=="1", GOTO="dont_activate" I need to clarify this one. I thought that the point of setting ENV{MPATH_DEVICE_READY} to "0" here was that ENV{.MPATH_DEVICE_READY_OLD} must be "0" and ENV{MPATH_DEVICE_READY} must be "1" here, so we want to set DM_ACTIVATE. Unfortunately, the device is suspended, so we want to postpone the activation till the next event, like the command above this codeblock says. To do that, we set ENV{MPATH_DEVICE_READY} back to "0", so that on the next event, ENV{.MPATH_DEVICE_READY_OLD} will be "0". Is that not necessary for some reason? Perhaps because we're going to get an actual DM generated event when we resume, so DM_ACTIVATE will already be set when we get the next event where DM_SUSPENDED != "1". If that's the case we should probably change the comment over this code block. -Ben > > ENV{DM_ACTIVATION}="1", ENV{MPATH_UNCHANGED}="0" > LABEL="dont_activate" > -- > 2.43.2