diff -ur mdadm-4.1.orig/udev-md-clustered-confirm-device.rules mdadm-4.1/udev-md-clustered-confirm-device.rules --- mdadm-4.1.orig/udev-md-clustered-confirm-device.rules 2018-10-01 18:26:06.000000000 +0000 +++ mdadm-4.1/udev-md-clustered-confirm-device.rules 2018-12-04 08:16:15.690403000 +0000 @@ -13,9 +13,9 @@ # Based on the received UUID, node confirms the device if # it is found by blkid, otherwise the node reports it is # missing. -PROGRAM="BINDIR/blkid -o device -t UUID_SUB=$env{DEVICE_UUID}", ENV{.md.newdevice} = "$result" +PROGRAM="/sbin/blkid -o device -t UUID_SUB=$env{DEVICE_UUID}", ENV{.md.newdevice} = "$result" -ENV{.md.newdevice}!="", RUN+="BINDIR/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:$env{.md.newdevice}" -ENV{.md.newdevice}=="", RUN+="BINDIR/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:missing" +ENV{.md.newdevice}!="", RUN+="/sbin/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:$env{.md.newdevice}" +ENV{.md.newdevice}=="", RUN+="/sbin/mdadm --manage $env{DEVNAME} --cluster-confirm $env{RAID_DISK}:missing" LABEL="clustermd_end" diff -ur mdadm-4.1.orig/udev-md-raid-arrays.rules mdadm-4.1/udev-md-raid-arrays.rules --- mdadm-4.1.orig/udev-md-raid-arrays.rules 2018-10-01 18:26:06.000000000 +0000 +++ mdadm-4.1/udev-md-raid-arrays.rules 2018-12-04 08:16:51.490403000 +0000 @@ -17,7 +17,7 @@ ATTR{md/array_state}=="|clear|inactive", ENV{SYSTEMD_READY}="0", GOTO="md_end" LABEL="md_ignore_state" -IMPORT{program}="BINDIR/mdadm --detail --export $devnode" +IMPORT{program}="/sbin/mdadm --detail --export $devnode" ENV{DEVTYPE}=="disk", ENV{MD_NAME}=="?*", SYMLINK+="disk/by-id/md-name-$env{MD_NAME}", OPTIONS+="string_escape=replace" ENV{DEVTYPE}=="disk", ENV{MD_UUID}=="?*", SYMLINK+="disk/by-id/md-uuid-$env{MD_UUID}" ENV{DEVTYPE}=="disk", ENV{MD_DEVNAME}=="?*", SYMLINK+="md/$env{MD_DEVNAME}" @@ -35,7 +35,7 @@ ENV{MD_LEVEL}=="raid[1-9]*", ENV{SYSTEMD_WANTS}+="mdmonitor.service" # Tell systemd to run mdmon for our container, if we need it. -ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/usr/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c" -ENV{MD_MON_THIS}=="?*", PROGRAM="/usr/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service" +ENV{MD_LEVEL}=="raid[1-9]*", ENV{MD_CONTAINER}=="?*", PROGRAM="/bin/readlink $env{MD_CONTAINER}", ENV{MD_MON_THIS}="%c" +ENV{MD_MON_THIS}=="?*", PROGRAM="/bin/basename $env{MD_MON_THIS}", ENV{SYSTEMD_WANTS}+="mdmon@%c.service" LABEL="md_end" diff -ur mdadm-4.1.orig/udev-md-raid-assembly.rules mdadm-4.1/udev-md-raid-assembly.rules --- mdadm-4.1.orig/udev-md-raid-assembly.rules 2018-10-01 18:26:06.000000000 +0000 +++ mdadm-4.1/udev-md-raid-assembly.rules 2018-12-04 08:17:07.490403000 +0000 @@ -30,9 +30,9 @@ # remember you can limit what gets auto/incrementally assembled by # mdadm.conf(5)'s 'AUTO' and selectively whitelist using 'ARRAY' -ACTION=="add|change", IMPORT{program}="BINDIR/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}" +ACTION=="add|change", IMPORT{program}="/sbin/mdadm --incremental --export $devnode --offroot $env{DEVLINKS}" ACTION=="add|change", ENV{MD_STARTED}=="*unsafe*", ENV{MD_FOREIGN}=="no", ENV{SYSTEMD_WANTS}+="mdadm-last-resort@$env{MD_DEVICE}.timer" -ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="BINDIR/mdadm -If $name --path $env{ID_PATH}" -ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="BINDIR/mdadm -If $name" +ACTION=="remove", ENV{ID_PATH}=="?*", RUN+="/sbin/mdadm -If $name --path $env{ID_PATH}" +ACTION=="remove", ENV{ID_PATH}!="?*", RUN+="/sbin/mdadm -If $name" LABEL="md_inc_end"