summaryrefslogtreecommitdiff
path: root/repo/util/lvm2/lvm.initd
diff options
context:
space:
mode:
authordavidovski <david@davidovski.xyz>2022-05-22 17:47:09 +0100
committerdavidovski <david@davidovski.xyz>2022-05-22 17:47:09 +0100
commit79062a39e9bcb9731adbacd0bd9bcd0b59d19d0a (patch)
treef67d3b58f0c4387e7248967c491442afcee0cd06 /repo/util/lvm2/lvm.initd
parent2f6c333a5bcef47d9fee59f180fa827cb24290d4 (diff)
fixes to allow for full build
Diffstat (limited to 'repo/util/lvm2/lvm.initd')
-rw-r--r--repo/util/lvm2/lvm.initd38
1 files changed, 38 insertions, 0 deletions
diff --git a/repo/util/lvm2/lvm.initd b/repo/util/lvm2/lvm.initd
new file mode 100644
index 0000000..db6adbe
--- /dev/null
+++ b/repo/util/lvm2/lvm.initd
@@ -0,0 +1,38 @@
+#!/sbin/openrc-run
+
+depend() {
+ before checkfs fsck swap
+ 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 --sysinit --activate 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 $?
+}
+