diff options
Diffstat (limited to 'main/lvm2/lvm.initd')
-rw-r--r-- | main/lvm2/lvm.initd | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/main/lvm2/lvm.initd b/main/lvm2/lvm.initd new file mode 100644 index 0000000000..022cbb1e0d --- /dev/null +++ b/main/lvm2/lvm.initd @@ -0,0 +1,33 @@ +#!/sbin/runscript + +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 $? +} + |