summaryrefslogtreecommitdiffstats
path: root/0054-RHBZ-596319-rules-cleanup.patch
blob: adf45c19979df2eb884f64ba746e5f95dd790458 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
---
 multipath/multipath.rules |   22 +++++++++++++---------
 1 file changed, 13 insertions(+), 9 deletions(-)

Index: multipath-tools/multipath/multipath.rules
===================================================================
--- multipath-tools.orig/multipath/multipath.rules
+++ multipath-tools/multipath/multipath.rules
@@ -1,19 +1,23 @@
 # multipath wants the devmaps presented as meaninglful device names
 # so name them after their devmap name
 SUBSYSTEM!="block", GOTO="end_mpath"
-TEST!="/sbin/multipath", GOTO="check_usr"
-ENV{MPATH_GOT_HERE}="$env{DEVNAME}"
-PROGRAM=="/sbin/multipath -c /dev/$env{DEVNAME}", ENV{DM_MULTIPATH_DEVICE_PATH}="1"
-GOTO="skip_usr"
-LABEL="check_usr"
-ENV{MPATH_GOT_HERE} = "2"
-PROGRAM=="/usr/sbin/multipath -c /dev/$env{DEVNAME}", ENV{DM_MULTIPATH_DEVICE_PATH}="1"
-LABEL="skip_usr"
+
+ENV{MPATH_SBIN_PATH}="/sbin"
+TEST!="$env{MPATH_SBIN_PATH}/multipath", ENV{MPATH_SBIN_PATH}="/usr/sbin"
+
+ACTION=="add", ENV{DEVTYPE}!="partition", \
+	ENV{DM_MULTIPATH_DEVICE_PATH}!="1", \
+	PROGRAM=="$env{MPATH_SBIN_PATH}/multipath -c $tempnode", \
+	ENV{DM_MULTIPATH_DEVICE_PATH}="1"
+
+ENV{DM_MULTIPATH_DEVICE_PATH}=="1", ENV{DEVTYPE}!="partition", \
+	RUN+="/sbin/partx -d --nr 1-1024 $env{DEVNAME}"
+
 RUN+="socket:/org/kernel/dm/multipath_event"
 KERNEL!="dm-*", GOTO="end_mpath"
 ACTION!="change", GOTO="end_mpath"
 ENV{DM_SUSPENDED}=="1", GOTO="end_mpath"
 ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath"
 ENV{DM_ACTION}=="PATH_FAILED", GOTO="end_mpath"
-RUN+="$env{DM_SBIN_PATH}/kpartx -a -p p $tempnode"
+RUN+="$env{MPATH_SBIN_PATH}/kpartx -a -p p $tempnode"
 LABEL="end_mpath"