xref: /netbsd-src/external/gpl2/lvm2/dist/scripts/lvm2create_initrd/lvm2udev (revision 56a34939419542e88b386b2229be7565f4f45461)
1*56a34939Shaad#!/bin/sh
2*56a34939Shaad
3*56a34939Shaad# $Id: lvm2udev,v 1.1.1.1 2008/12/22 00:18:58 haad Exp $
4*56a34939Shaad
5*56a34939Shaad# simple startup script to create lvm2 devices if /dev is a mountpoint, there
6*56a34939Shaad# are active dm- devices, and an executable /sbin/vgscan.
7*56a34939Shaad
8*56a34939Shaad# this script is licensed under GPLv2.
9*56a34939Shaad# See http://www.gnu.org/licenses/gpl.html
10*56a34939Shaad
11*56a34939Shaadcase $1 in
12*56a34939Shaadstart)
13*56a34939Shaad    # is /dev a mountpoint?
14*56a34939Shaad    mountpoint -q /dev
15*56a34939Shaad    DEVMNTPOINT=$?
16*56a34939Shaad
17*56a34939Shaad    # check to see if there are active dm entries under /sys
18*56a34939Shaad    ls /sys/block/dm-*/dev 1>/dev/null 2>&1
19*56a34939Shaad    ACTIVEDMDEVS=$?
20*56a34939Shaad
21*56a34939Shaad    # mknodes if conditions are right
22*56a34939Shaad    if [ $DEVMNTPOINT -eq 0 -a $ACTIVEDMDEVS -eq 0 -a -x /sbin/vgscan ]; then
23*56a34939Shaad        /sbin/vgscan --mknodes --ignorelockingfailure
24*56a34939Shaad    fi
25*56a34939Shaad    ;;
26*56a34939Shaadstop)
27*56a34939Shaad    exit 0
28*56a34939Shaad    ;;
29*56a34939Shaad*)
30*56a34939Shaad    echo "usage:"
31*56a34939Shaad    echo "    $0 start|stop"
32*56a34939Shaad    ;;
33*56a34939Shaadesac
34