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