diff options
Diffstat (limited to 'main/lvm2/lvm.initd')
-rw-r--r-- | main/lvm2/lvm.initd | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/main/lvm2/lvm.initd b/main/lvm2/lvm.initd new file mode 100644 index 0000000000..f077d7f1d9 --- /dev/null +++ b/main/lvm2/lvm.initd @@ -0,0 +1,38 @@ +#!/sbin/runscript + +depend() { + before checkfs fsck + after hwdrivers modules device-mapper +} + +dm_in_proc() { + local rc=0 i= + for i in devices misc; do + grep -qs 'device-mapper' /proc/$i + rc=$(($rc + $?)) + done + return $rc +} + +start() { + local rc=0 msg= + ebegin "Setting up the Logical Volume Manager" + if [ -e /proc/modules ] && ! dm_in_proc; then + modprobe dm-mod 2>/dev/null + fi + if [ -d /proc/lvm ] || dm_in_proc; then + vgscan --mknodes --ignorelockingfailure >/dev/null 2>&1 &&\ + vgchange --ignorelockingfailure -a y >/dev/null 2>&1 + rc=$? + else + rc=1 + fi + eend $rc +} + +stop() { + ebegin "Shutting down the Logical Volume Manager" + vgchange --ignorelockingfailure -a n >/dev/null 2>&1 + eend $? +} + |