From: Hans de Goede Date: Wed, 16 Sep 2009 09:20:57 +0000 (+0200) Subject: 90dmraid: use kpartx to scan for partitions X-Git-Tag: 002~14 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=26b72485cfc2e153e5257429c92264a6c833a68d;p=thirdparty%2Fdracut.git 90dmraid: use kpartx to scan for partitions --- diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh index e38223306..de6663483 100755 --- a/modules.d/90dmraid/dmraid.sh +++ b/modules.d/90dmraid/dmraid.sh @@ -3,23 +3,35 @@ . /lib/dracut-lib.sh DM_RAIDS=$(getargs rd_DM_UUID=) + # run dmraid if udev has settled info "Scanning for dmraid devices $DM_RAIDS" +SETS=$(dmraid -c -s) + +if [ "$SETS" = "no raid disks" ]; then + return +fi + +info "Found dmraid sets:" +echo $SETS|vinfo + if [ -n "$DM_RAIDS" ]; then # only activate specified DM RAIDS - SETS=$(dmraid -c -s) - info "Found dmraid sets:" - echo $SETS|vinfo for r in $DM_RAIDS; do for s in $SETS; do if [ "${s##$r}" != "$s" ]; then info "Activating $s" - dmraid -ay $s 2>&1 | vinfo + dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo + [ -e "/dev/mapper/$s" ] && kpartx -a -p p "/dev/mapper/$s" 2>&1 | vinfo udevsettle fi done done else # scan and activate all DM RAIDS - dmraid -ay 2>&1 | vinfo + for s in $SETS; do + info "Activating $s" + dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo + [ -e "/dev/mapper/$s" ] && kpartx -a -p p "/dev/mapper/$s" 2>&1 | vinfo + done fi