On Tue, Jun 02, 2020 at 05:54:43PM +0200, mwilck@xxxxxxxx wrote: > From: Martin Wilck <mwilck@xxxxxxxx> > > DM_SUBSYSTEM_UDEV_FLAG0 is used to indicate that upper layer > udev rules don't need to be processed for multipath maps, e.g. > for map reloads. > > However, this can fail if maps were created during initrd processing, > but udev processing for the change events of these maps didn't > complete because udevd was killed to switch root. So, in the coldplug > case, play safe and process the rules once more. > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> Reviewed-by: Benjamin Marzinski <bmarzins@xxxxxxxxxx> > --- > multipath/11-dm-mpath.rules | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/multipath/11-dm-mpath.rules b/multipath/11-dm-mpath.rules > index cd522e8c..34c21fd1 100644 > --- a/multipath/11-dm-mpath.rules > +++ b/multipath/11-dm-mpath.rules > @@ -52,8 +52,13 @@ LABEL="mpath_action" > # something that should be reacted upon since it would be useless extra work. > # It's exactly mpath's job to provide *seamless* device access to any of the > # paths that are available underneath. > +# Exception: On cold-plug, if the map had already been set up before, > +# do process upper layers, because rule processing may not necessarily have > +# completed during initrd processing. > +ACTION=="add", ENV{.MPATH_DEVICE_READY_OLD}=="1", GOTO="process_reload" > ENV{DM_SUBSYSTEM_UDEV_FLAG0}=="1", \ > ENV{DM_ACTIVATION}="0", ENV{MPATH_UNCHANGED}="1" > +LABEL="process_reload" > > # For path failed or reinstated events, unset DM_ACTIVATION. > # This is similar to the DM_SUBSYSTEM_UDEV_FLAG0 case above. > -- > 2.26.2 -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel