mdraid: do not handle isw_raid_member if rd_NO_MDIMSM is set in udev ENV
install md-noimsm.sh if mdadm does not support imsm.master
parent
499befa692
commit
0de01de409
|
@ -5,6 +5,7 @@
|
||||||
ACTION!="add", GOTO="md_inc_end"
|
ACTION!="add", GOTO="md_inc_end"
|
||||||
SUBSYSTEM!="block", 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}!="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"
|
TEST=="/tmp/.mdraid_start-%k", GOTO="md_inc_end"
|
||||||
|
|
||||||
|
|
|
@ -1,23 +0,0 @@
|
||||||
# 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"
|
|
|
@ -16,10 +16,10 @@ else
|
||||||
inst_rules 64-md-raid.rules
|
inst_rules 64-md-raid.rules
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if mdadm -Q -e imsm /dev/null &> /dev/null; then
|
inst_rules "$moddir/65-md-incremental-imsm.rules"
|
||||||
inst_rules "$moddir/65-md-incremental-imsm.rules"
|
|
||||||
else
|
if ! mdadm -Q -e imsm /dev/null &> /dev/null; then
|
||||||
inst_rules "$moddir/65-md-incremental.rules"
|
inst_hook pre-trigger 30 "$moddir/md-noimsm.sh"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
|
||||||
|
@ -34,4 +34,4 @@ if [ -x /sbin/mdmon ] ; then
|
||||||
fi
|
fi
|
||||||
|
|
||||||
inst "$moddir/mdraid_start.sh" /sbin/mdraid_start
|
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"
|
||||||
|
|
|
@ -0,0 +1,2 @@
|
||||||
|
info "rd_NO_MDIMSM: no MD RAID for imsm/isw raids"
|
||||||
|
udevadm control --property=rd_NO_MDIMSM=1
|
|
@ -1,6 +1,7 @@
|
||||||
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
|
rm /etc/udev/rules.d/65-md-incremental*.rules
|
||||||
else
|
else
|
||||||
MD_UUID=$(getargs rd_MD_UUID=)
|
MD_UUID=$(getargs rd_MD_UUID=)
|
||||||
|
@ -25,3 +26,7 @@ else
|
||||||
fi
|
fi
|
||||||
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
|
Loading…
Reference in New Issue