Changes v2->v3: 3/6: make sure DM_COLDPLUG_SUSPENDED is imported from db on spurious uevents (Ben Marzinski) 6/6: fix missing quotes mistake 7/7: drop, already reviewed and pushed to "queue" branch I kept the Reviewed-by: trailers in v3. Thus 3/6 is the only patch missing Ben's Reviewed-by: tag. Changes v1->v2: 2/7: This patch becomes trivial, DM_UDEV_DISABLE_OTHER_RULES_FLAG is not imported any more, and my previous statement that DM_NOPATH might be set in an earlier rule was wrong; the test whether it's already set is dropped. 3/7: looks different now because of the change in 2/6 4/7: there was a flaw in the previous version, .MPATH_SAVE_DISABLE_OTHER_RULES_FLAG must always be set. z0-dm-mpath-late.rules was broken as well. 5/7: looks different now because of the change in 2/6 6/7: new, another glitch that I found while working on this code 7/7: was 6/6. Except for 1/7, I dropped Ben's "Reviewed-by:" trailer. Changes wrt "v0" ("multipath-tools: udev rules and service improvements" posted on Feb 5th) 1/6: fix logic as pointed out by Ben Marzinski 2/6: Keep importing MPATH_DEVICE_READY as suggested by Ben Marzinski. Don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG any more. # v1 Cover letter: Patch 1-3 of this series are actually a v3 of my previous series "multipath-tools: udev rules and service improvements" posted on Feb 5th. Patch 4-6 are new. 4/6 implements new logic for setting DM_UDEV_DISABLE_OTHER_RULES_FLAG_OLD, as discussed in the thread about 1/6 of the v1 series. 5/6 fixes a variant of the race condition that 3/6 addresses. Meanwhile I got positive test feedback about these patches; the partner isn't observing any more errors with these patches applied. Thus while certain types of race conditions (reload happening between DM_SUSPENDED test in 10-dm.rules and blkid or pvscan calls in later rules) are still possible, they seem to be rare enough to be handled in a separate patch set. 6/6 is an unrelated new patch which is necessary to make CI for arm/v7 environments work. Martin Wilck (6): 11-dm-mpath.rules: use import logic like 13-dm-disk.rules 11-dm-mpath.rules: don't import DM_UDEV_DISABLE_OTHER_RULES_FLAG 11-dm-mpath.rules: handle reloads during coldplug events 11-dm-mpath.rules: don't save DM_UDEV_DISABLE_OTHER_RULES_FLAG_OLD 11-dm-mpath.rules: clear DM_DISABLE_OTHER_RULES_FLAG for coldplug events 11-dm-mpath.rules: Don't force activation while device is suspended multipath/11-dm-mpath.rules.in | 69 ++++++++++++++++++++++++------ multipath/99-z-dm-mpath-late.rules | 4 ++ multipath/Makefile | 2 + 3 files changed, 61 insertions(+), 14 deletions(-) create mode 100644 multipath/99-z-dm-mpath-late.rules -- 2.43.0