On Wed, 2017-09-13 at 16:19 -0500, Benjamin Marzinski wrote: > On Sun, Sep 03, 2017 at 12:38:49AM +0200, Martin Wilck wrote: > > The fact alone that a map changes from not ready to ready does > > not imply that it is activating. > > NAK on this one and > [PATCH 21/31] 11-dm-mpath.rules: Remember DM_ACTIVATION > > This breaks things. It's often the case that there are devices > stacked > on top of multipath. When multipath loses all of its paths, if it > doesn't have queue_if_no_path set, it can fail IO up to these higher > devices, forcing them to react to the failure. There is no way that > I > know of to be able to check in udev to see if this has occured. The > only > safe course of action is to assume the worst and notify lvm that > things > are better now. You are right, thanks. I didn't consider the case without queueing. I see no problem with just skipping these two. Best, Martin > > A simple reproducer of the problem is something like: > > - create 2 multipath devices (call them mpatha and mpathb) > - set up raid1 on top of them > > # pvcreate /dev/mapper/mpatha > # pvcreate /dev/mapper/mpathc > # vgcreate test /dev/mapper/mpathb /dev/mapper/mpatha > # lvcreate --type raid1 -m 1 -L 1G -n raid test > > - verify that everything is o.k. > > # dd if=/dev/zero of=/dev/test/raid bs=1M count=100 > # multipath -ll > # pvs > # vgs > # lvs > > - remove all of the path devices from mpatha > - verify that the raid device is in partial mode > > # dd if=/dev/zero of=/dev/test/raid bs=1M count=100 > # multipath -ll > # pvs > # vgs > # lvs > > - add the path devices back to the system > - check if the raid device has recovered > > # multipath -ll > # pvs > # vgs > # lvs > > With these patches, the raid device remains in partial mode, and the > mpatha pv is still listed as unknown. If I revert these two patches, > everything works fine again. > > -Ben > > > Signed-off-by: Martin Wilck <mwilck@xxxxxxxx> > > --- > > multipath/11-dm-mpath.rules | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/multipath/11-dm-mpath.rules b/multipath/11-dm- > > mpath.rules > > index 0be22ae4..3f47744f 100644 > > --- a/multipath/11-dm-mpath.rules > > +++ b/multipath/11-dm-mpath.rules > > @@ -64,8 +64,7 @@ ENV{MPATH_DEVICE_READY}=="0", > > ENV{.MPATH_DEVICE_READY_OLD}=="1",\ > > ENV{MPATH_DEVICE_READY}=="0", > > ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="1" > > ENV{MPATH_DEVICE_READY}!="0", ENV{.MPATH_DEVICE_READY_OLD}=="0",\ > > ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="$env{DM_DISABLE_OTH > > ER_RULES_FLAG_OLD}",\ > > - ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="",\ > > - ENV{DM_ACTIVATION}="1" > > + ENV{DM_DISABLE_OTHER_RULES_FLAG_OLD}="" > > > > LABEL="scan_import" > > ENV{DM_NOSCAN}!="1", GOTO="mpath_end" > > -- > > 2.14.0 > > -- Dr. Martin Wilck <mwilck@xxxxxxxx>, Tel. +49 (0)911 74053 2107 SUSE Linux GmbH, GF: Felix Imendörffer, Jane Smithard, Graham Norton HRB 21284 (AG Nürnberg) -- dm-devel mailing list dm-devel@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/dm-devel