# Created by Tobias Powalowski <tpowa@archlinux.org>

run_hook ()
{
    if ! [ "$LVMRUN" = "1" ]; then
        /sbin/modprobe -q dm-mod >/dev/null 2>&1
        /sbin/modprobe -q dm-mirror >/dev/null 2>&1
        # fix if udev initialises /dev/mapper/control
        /sbin/udevadm settle
        if [ -e "/sys/class/misc/device-mapper" ]; then
            if [ ! -e "/dev/mapper/control" ]; then
                /bin/mknod "/dev/mapper/control" c $(cat /sys/class/misc/device-mapper/dev | sed 's|:| |')
            fi

            # If the lvmwait= parameter has been specified on the command line
            # wait for the device(s) before trying to activate the volume group(s)
            if [ -n "${lvmwait}" ]; then
                for pvdev in $(echo ${lvmwait} | sed 's|,| |g'); do
                    poll_device ${pvdev} ${rootdelay}
                done
            fi

            [ "${quiet}" = "y" ] && LVMQUIET=">/dev/null"

            msg "Activating logical volumes..."
            eval /sbin/lvm vgchange --sysinit -a y $LVMQUIET
        fi
    else
        msg ":: Skipping already run by arch_root_advanced hook..."
    fi
}
