]> git.ipfire.org Git - thirdparty/dracut.git/blob - modules.d/90dmraid/dmraid.sh
md/dm/lvm: install pre-pivot cleanup hooks only if actually needed
[thirdparty/dracut.git] / modules.d / 90dmraid / dmraid.sh
1 #!/bin/sh
2
3 . /lib/dracut-lib.sh
4
5 DM_RAIDS=$(getargs rd_DM_UUID=)
6
7 DM_CLEANUP="no"
8
9 # run dmraid if udev has settled
10 info "Scanning for dmraid devices $DM_RAIDS"
11 SETS=$(dmraid -c -s)
12
13 if [ "$SETS" = "no raid disks" ]; then
14 return
15 fi
16
17 info "Found dmraid sets:"
18 echo $SETS|vinfo
19
20 if [ -n "$DM_RAIDS" ]; then
21 # only activate specified DM RAIDS
22 for r in $DM_RAIDS; do
23 for s in $SETS; do
24 if [ "${s##$r}" != "$s" ]; then
25 info "Activating $s"
26 dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo
27 [ -e "/dev/mapper/$s" ] && kpartx -a -p p "/dev/mapper/$s" 2>&1 | vinfo
28 udevsettle
29 fi
30 done
31 done
32 else
33 # scan and activate all DM RAIDS
34 for s in $SETS; do
35 info "Activating $s"
36 dmraid -ay -i -p --rm_partitions "$s" 2>&1 | vinfo
37 [ -e "/dev/mapper/$s" ] && kpartx -a -p p "/dev/mapper/$s" 2>&1 | vinfo
38 done
39 fi
40