]> git.proxmox.com Git - mirror_zfs-debian.git/blob - contrib/initramfs/scripts/local-top/zfs
New upstream version 0.7.2
[mirror_zfs-debian.git] / contrib / initramfs / scripts / local-top / zfs
1 #!/bin/sh
2 PREREQ="mdadm mdrun multipath"
3
4 prereqs()
5 {
6 echo "$PREREQ"
7 }
8
9 case $1 in
10 # get pre-requisites
11 prereqs)
12 prereqs
13 exit 0
14 ;;
15 esac
16
17
18 #
19 # Helper functions
20 #
21 message()
22 {
23 if [ -x /bin/plymouth ] && plymouth --ping; then
24 plymouth message --text="$@"
25 else
26 echo "$@" >&2
27 fi
28 return 0
29 }
30
31 udev_settle()
32 {
33 # Wait for udev to be ready, see https://launchpad.net/bugs/85640
34 if [ -x /sbin/udevadm ]; then
35 /sbin/udevadm settle --timeout=30
36 elif [ -x /sbin/udevsettle ]; then
37 /sbin/udevsettle --timeout=30
38 fi
39 return 0
40 }
41
42
43 activate_vg()
44 {
45 # Sanity checks
46 if [ ! -x /sbin/lvm ]; then
47 message "lvm is not available"
48 return 1
49 fi
50
51 # Detect and activate available volume groups
52 /sbin/lvm vgscan
53 /sbin/lvm vgchange -a y --sysinit
54 return $?
55 }
56
57 udev_settle
58 activate_vg
59
60 exit 0