summaryrefslogtreecommitdiffstats
path: root/udev_change.patch
diff options
context:
space:
mode:
Diffstat (limited to 'udev_change.patch')
-rw-r--r--udev_change.patch55
1 files changed, 55 insertions, 0 deletions
diff --git a/udev_change.patch b/udev_change.patch
new file mode 100644
index 0000000..91de9d9
--- /dev/null
+++ b/udev_change.patch
@@ -0,0 +1,55 @@
+---
+ multipath/mpath_wait | 21 +++++++++++++++------
+ multipath/multipath.rules | 5 ++++-
+ 2 files changed, 19 insertions(+), 7 deletions(-)
+
+Index: multipath-tools/multipath/mpath_wait
+===================================================================
+--- multipath-tools.orig/multipath/mpath_wait
++++ multipath-tools/multipath/mpath_wait
+@@ -3,14 +3,23 @@
+ retry=3
+ sec=1
+
+-/sbin/dmsetup info -c --noheadings -j $1 -m $2 2> /dev/null | grep -q .*:${1}:${2}:L.*:.*:.*:.*:.*
+-ret=$?
++dev=`/sbin/dmsetup ls --target multipath -j $1 -m $2 --exec 'echo'`
++if [ -n "$dev" ]; then
++ /usr/bin/stat $dev > /dev/null 2>&1
++ ret=$?
++else
++ ret=1
++fi
+
+-while [ "$ret" -ne 0 -a "$retry" -gt 0 ]
+-do
++while [ "$ret" -ne 0 -a "$retry" -gt 0 ]; do
+ sleep $sec
+- /sbin/dmsetup info -c --noheadings -j $1 -m $2 2> /dev/null | grep -q .*:${1}:${2}:L.*:.*:.*:.*:.*
+- ret=$?
++ if [ -z "$dev" ]; then
++ dev=`/sbin/dmsetup ls --target multipath -j $1 -m $2 --exec 'echo'`
++ fi
++ if [ -n "$dev" ]; then
++ /usr/bin/stat $dev > /dev/null 2>&1
++ ret=$?
++ fi
+ retry=$(($retry - 1))
+ done
+
+Index: multipath-tools/multipath/multipath.rules
+===================================================================
+--- multipath-tools.orig/multipath/multipath.rules
++++ multipath-tools/multipath/multipath.rules
+@@ -2,7 +2,10 @@
+ # so name them after their devmap name
+ SUBSYSTEM!="block", GOTO="end_mpath"
+ RUN+="socket:/org/kernel/dm/multipath_event"
++ACTION!="change", GOTO="end_mpath"
+ KERNEL!="dm-[0-9]*", GOTO="end_mpath"
++ENV{DM_SUSPENDED}=="1", GOTO="end_mpath"
++ENV{DM_UUID}=="*?", ENV{DM_UUID}!="mpath-?*", GOTO="end_mpath"
+ PROGRAM!="/sbin/mpath_wait %M %m", GOTO="end_mpath"
+-ACTION=="add", RUN+="/sbin/dmsetup ls --target multipath --exec '/sbin/kpartx -a -p p' -j %M -m %m"
++RUN+="/sbin/dmsetup ls --target multipath --exec '/sbin/kpartx -a -p p' -j %M -m %m"
+ LABEL="end_mpath"