install md-noimsm.sh if mdadm does not support imsm.
ACTION!="add", GOTO="md_inc_end"
SUBSYSTEM!="block", GOTO="md_inc_end"
ENV{ID_FS_TYPE}!="linux_raid_member|isw_raid_member", GOTO="md_inc_end"
+ENV{ID_FS_TYPE}=="isw_raid_member", ENV{rd_NO_MDIMSM}=="?*", GOTO="md_inc_end"
TEST=="/tmp/.mdraid_start-%k", GOTO="md_inc_end"
+++ /dev/null
-# This file causes block devices with Linux RAID (mdadm) signatures to
-# automatically cause mdadm to be run.
-# See udev(8) for syntax
-
-ACTION!="add", GOTO="md_inc_end"
-SUBSYSTEM!="block", GOTO="md_inc_end"
-ENV{ID_FS_TYPE}!="linux_raid_member", GOTO="md_inc_end"
-
-TEST=="/tmp/.mdraid_start-%k", GOTO="md_inc_end"
-
-IMPORT{program}="/sbin/mdadm --examine --export $tempnode"
-
-# UUID CHECK
-
-LABEL="do_md_inc"
-
-RUN+="/sbin/mdadm -I --no-degraded $env{DEVNAME}"
-
-RUN+="/bin/sh -c '>/tmp/.mdraid_start-%k; /bin/ln -s /sbin/mdraid_start /initqueue/mdraid_start.sh'"
-
-ATTR{partition}!="?*", RUN+="/sbin/partx -d $env{DEVNAME}"
-
-LABEL="md_inc_end"
inst_rules 64-md-raid.rules
fi
-if mdadm -Q -e imsm /dev/null &> /dev/null; then
- inst_rules "$moddir/65-md-incremental-imsm.rules"
-else
- inst_rules "$moddir/65-md-incremental.rules"
+inst_rules "$moddir/65-md-incremental-imsm.rules"
+
+if ! mdadm -Q -e imsm /dev/null &> /dev/null; then
+ inst_hook pre-trigger 30 "$moddir/md-noimsm.sh"
fi
fi
inst "$moddir/mdraid_start.sh" /sbin/mdraid_start
-inst_hook cmdline 30 "$moddir/parse-md.sh"
+inst_hook pre-trigger 30 "$moddir/parse-md.sh"
--- /dev/null
+info "rd_NO_MDIMSM: no MD RAID for imsm/isw raids"
+udevadm control --property=rd_NO_MDIMSM=1
\ No newline at end of file
-initrdargs="$initrdargs rd_MD_UUID rd_NO_MD"
+initrdargs="$initrdargs rd_MD_UUID rd_NO_MD rd_NO_MDIMSM"
-if $(getarg rd_NO_MD); then
+if getarg rd_NO_MD; then
+ info "rd_NO_MD: removing MD RAID activation"
rm /etc/udev/rules.d/65-md-incremental*.rules
else
MD_UUID=$(getargs rd_MD_UUID=)
fi
fi
+if getarg rd_NO_MDIMSM; then
+ info "rd_NO_MDIMSM: no MD RAID for imsm/isw raids"
+ udevadm control --property=rd_NO_MDIMSM=1
+fi
\ No newline at end of file