Browse Source

90dmraid: use kpartx to scan for partitions

master
Hans de Goede 16 years ago committed by Harald Hoyer
parent
commit
26b72485cf
  1. 22
      modules.d/90dmraid/dmraid.sh

22
modules.d/90dmraid/dmraid.sh

@ -3,23 +3,35 @@
. /lib/dracut-lib.sh . /lib/dracut-lib.sh


DM_RAIDS=$(getargs rd_DM_UUID=) DM_RAIDS=$(getargs rd_DM_UUID=)

# run dmraid if udev has settled # run dmraid if udev has settled
info "Scanning for dmraid devices $DM_RAIDS" 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 if [ -n "$DM_RAIDS" ]; then
# only activate specified DM RAIDS # only activate specified DM RAIDS
SETS=$(dmraid -c -s)
info "Found dmraid sets:"
echo $SETS|vinfo
for r in $DM_RAIDS; do for r in $DM_RAIDS; do
for s in $SETS; do for s in $SETS; do
if [ "${s##$r}" != "$s" ]; then if [ "${s##$r}" != "$s" ]; then
info "Activating $s" 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 udevsettle
fi fi
done done
done done
else else
# scan and activate all DM RAIDS # 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 fi

Loading…
Cancel
Save