From 26b72485cfc2e153e5257429c92264a6c833a68d Mon Sep 17 00:00:00 2001 From: Hans de Goede Date: Wed, 16 Sep 2009 11:20:57 +0200 Subject: [PATCH] 90dmraid: use kpartx to scan for partitions --- modules.d/90dmraid/dmraid.sh | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/modules.d/90dmraid/dmraid.sh b/modules.d/90dmraid/dmraid.sh index e3822330..de666348 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