diff --git a/modules.d/90mdraid/parse-md.sh b/modules.d/90mdraid/parse-md.sh index dd7bda2..7bc944c 100755 --- a/modules.d/90mdraid/parse-md.sh +++ b/modules.d/90mdraid/parse-md.sh @@ -4,32 +4,26 @@ MD_UUID=$(getargs rd.md.uuid -d rd_MD_UUID=) -if ( ! [ -n "$MD_UUID" ] && ! getargbool 0 rd.auto ) || ! getargbool 1 rd.md -d -n rd_NO_MD; then - info "rd.md=0: removing MD RAID activation" - udevproperty rd_NO_MD=1 -else - # rewrite the md rules to only process the specified raid array - if [ -n "$MD_UUID" ]; then - for f in /etc/udev/rules.d/65-md-incremental*.rules; do - [ -e "$f" ] || continue - while read line; do - if [ "${line%%UUID CHECK}" != "$line" ]; then - printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' - for uuid in $MD_UUID; do - printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid - done; - printf 'GOTO="md_end"\n' - printf 'LABEL="md_uuid_ok"\n' - else - echo "$line" - fi - done < "${f}" > "${f}.new" - mv "${f}.new" "$f" - done - fi +# rewrite the md rules to only process the specified raid array +if [ -n "$MD_UUID" ]; then + for f in /etc/udev/rules.d/65-md-incremental*.rules; do + [ -e "$f" ] || continue + while read line; do + if [ "${line%%UUID CHECK}" != "$line" ]; then + printf 'IMPORT{program}="/sbin/mdadm --examine --export $tempnode"\n' + for uuid in $MD_UUID; do + printf 'ENV{MD_UUID}=="%s", GOTO="md_uuid_ok"\n' $uuid + done; + printf 'GOTO="md_end"\n' + printf 'LABEL="md_uuid_ok"\n' + else + echo "$line" + fi + done < "${f}" > "${f}.new" + mv "${f}.new" "$f" + done fi - if [ -e /etc/mdadm.conf ] && getargbool 1 rd.md.conf -d -n rd_NO_MDADMCONF; then udevproperty rd_MDADMCONF=1 rm -f -- $hookdir/pre-pivot/*mdraid-cleanup.sh