File: dmraid.sh

package info (click to toggle)
dracut 005-1
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,368 kB
  • ctags: 207
  • sloc: sh: 6,487; ansic: 192; makefile: 108
file content (40 lines) | stat: -rwxr-xr-x 902 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
#!/bin/sh

. /lib/dracut-lib.sh

DM_RAIDS=$(getargs rd_DM_UUID=)

DM_CLEANUP="no"

# 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
    for r in $DM_RAIDS; do 
	for s in $SETS; do 
	    if [ "${s##$r}" != "$s" ]; then
		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
                udevsettle
	    fi
	done
    done
else 
    # scan and activate all DM RAIDS
    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