2b0cd7cceb
Rebased on top of Martin Wilck's queue of ACKed upstream commits * https://github.com/openSUSE/multipath-tools/tree/upstream-queue * All previous patches have been reordered, with the exception of 0011-libdmmp-Add-support-for-upcoming-json-c-0.14.0.patch which has been replaced with 0029-fix-boolean-value-with-json-c-0.14.patch Modify 0054-RH-add-mpathconf.patch * remove default enable_foreign and property blacklist_exceptions settings, and deal with the builtin default change from 0031-libmultipath-set-enable_foreign-to-NONE-by-default.patch. Fixes bz #1853668 Add 0048-Makefile.inc-trim-extra-information-from-systemd-ver.patch Add 0049-kpartx-fix-Wsign-compare-error.patch * The above two patches have been submitted upstream
44 lines
2.0 KiB
Diff
44 lines
2.0 KiB
Diff
From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
|
|
From: Martin Wilck <mwilck@suse.com>
|
|
Date: Thu, 2 Apr 2020 18:12:48 +0200
|
|
Subject: [PATCH] kpartx.rules: check for skip_kpartx on synthetic uevents
|
|
|
|
The current test to detect "spurious" uevents, and thus whether to
|
|
import DM_SUBSYSTEM_UDEV_FLAG1 (the flag for the "skip_kpartx" option)
|
|
from the udev db is wrong. In 10-dm.rules, DM_UDEV_PRIMARY_SOURCE_FLAG
|
|
is imported from the db if it isn't set, meaning that it's always 1
|
|
for active maps. The only events for which DM_SUBSYSTEM_UDEV_FLAG1
|
|
must not be loaded from the db are the real "primary" events, which
|
|
are "change" events with DM_ACTIVATION=="1".
|
|
|
|
11-dm-mpath.rules resets DM_ACTIVATION to 0 if nothing should change in upper
|
|
layers. In this case importing DM_SUBSYSTEM_UDEV_FLAG1 is correct, too. kpartx
|
|
will not be called anyway, because 11-dm-mpath.rules also sets MPATH_UNCHANGED=1.
|
|
|
|
Signed-off-by: Benjamin Marzinski <bmarzins@redhat.com>
|
|
---
|
|
kpartx/kpartx.rules | 7 +++++--
|
|
1 file changed, 5 insertions(+), 2 deletions(-)
|
|
|
|
diff --git a/kpartx/kpartx.rules b/kpartx/kpartx.rules
|
|
index f1bf31ca..d7527d7d 100644
|
|
--- a/kpartx/kpartx.rules
|
|
+++ b/kpartx/kpartx.rules
|
|
@@ -13,8 +13,11 @@ ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=="1", GOTO="kpartx_end"
|
|
ENV{DM_UUID}!="mpath-?*", GOTO="mpath_kpartx_end"
|
|
|
|
# DM_SUBSYSTEM_UDEV_FLAG1 is the "skip_kpartx" flag.
|
|
-# For events not generated by libdevmapper, we need to fetch it from db.
|
|
-ENV{DM_UDEV_PRIMARY_SOURCE_FLAG}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
|
|
+# For events not generated by libdevmapper, we need to fetch it from db:
|
|
+# - "change" events with DM_ACTIVATION!="1" (e.g. partition table changes)
|
|
+# - "add" events for which rules are not disabled ("coldplug" case)
|
|
+ENV{DM_ACTIVATION}!="1", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
|
|
+ACTION=="add", IMPORT{db}="DM_SUBSYSTEM_UDEV_FLAG1"
|
|
ENV{DM_SUBSYSTEM_UDEV_FLAG1}=="1", GOTO="mpath_kpartx_end"
|
|
|
|
# 11-dm-mpath.rules sets MPATH_UNCHANGED for events that can be ignored.
|
|
--
|
|
2.17.2
|
|
|