Changes wrt v1: 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 (7): 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-tools: Makefile.inc: set _FILE_OFFSET_BITS=64 Makefile.inc | 1 + multipath/11-dm-mpath.rules.in | 67 +++++++++++++++++++++++++------- multipath/Makefile | 2 + multipath/z0-dm-mpath-late.rules | 4 ++ tests/Makefile | 5 ++- tests/alias.c | 4 +- tests/directio.c | 7 ++-- tests/dmevents.c | 8 ++-- tests/sysfs.c | 57 ++++++++++++++------------- tests/test-lib.c | 9 +++-- tests/wrap64.h | 48 +++++++++++++++++++++++ 11 files changed, 157 insertions(+), 55 deletions(-) create mode 100644 multipath/z0-dm-mpath-late.rules create mode 100644 tests/wrap64.h -- 2.43.0