1#!/bin/sh
2# shellcheck disable=SC2154
3
4
5if [ "$1" = "prereqs" ]; then
6        echo mdadm mdrun multipath
7        exit 0
8fi
9
10
11#
12# Helper functions
13#
14message()
15{
16        if plymouth --ping 2>/dev/null; then
17                plymouth message --text="$*"
18        else
19                echo "$*" >&2
20        fi
21        return 0
22}
23
24udev_settle()
25{
26        # Wait for udev to be ready, see https://launchpad.net/bugs/85640
27        if [ -x /sbin/udevadm ]; then
28                /sbin/udevadm settle --timeout=30
29        elif [ -x /sbin/udevsettle ]; then
30                /sbin/udevsettle --timeout=30
31        fi
32        return 0
33}
34
35
36activate_vg()
37{
38        # Sanity checks
39        if [ ! -x /sbin/lvm ]; then
40                [ "$quiet" != "y" ] && message "lvm is not available"
41                return 1
42        fi
43
44        # Detect and activate available volume groups
45        /sbin/lvm vgscan
46        /sbin/lvm vgchange -a y --sysinit
47        return $?
48}
49
50udev_settle
51activate_vg
52
53exit 0
54