--- 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"