summaryrefslogtreecommitdiff
path: root/nonsystemd/lvm2-openrc/lvm-monitoring.initd
diff options
context:
space:
mode:
Diffstat (limited to 'nonsystemd/lvm2-openrc/lvm-monitoring.initd')
-rw-r--r--nonsystemd/lvm2-openrc/lvm-monitoring.initd38
1 files changed, 38 insertions, 0 deletions
diff --git a/nonsystemd/lvm2-openrc/lvm-monitoring.initd b/nonsystemd/lvm2-openrc/lvm-monitoring.initd
new file mode 100644
index 000000000..14e2cadb2
--- /dev/null
+++ b/nonsystemd/lvm2-openrc/lvm-monitoring.initd
@@ -0,0 +1,38 @@
+#!/usr/bin/openrc-run
+# Copyright 1999-2019 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# This script is based on upstream file
+# LVM2.2.02.67/scripts/lvm2_monitoring_init_red_hat.in
+
+depend() {
+ # As of .67-r1, we call ALL lvm start/stop scripts with --sysinit, that
+ # means dmeventd is NOT notified, as it cannot be safely running
+ need lvm dmeventd
+}
+
+VGCHANGE=/usr/bin/vgchange
+VGS=/usr/bin/vgs
+
+start() {
+ ret=0
+ # TODO do we want to separate out already active groups only?
+ VGSLIST=`$VGS --noheadings -o name --rows 2> /dev/null`
+ ebegin "Starting LVM monitoring for VGs ${VGSLIST}:"
+ $VGCHANGE --monitor y --poll y ${VGSLIST}
+ ret=$?
+ eend $ret
+ return $ret
+
+}
+
+stop() {
+ ret=0
+ # TODO do we want to separate out already active groups only?
+ VGSLIST=`$VGS --noheadings -o name --rows 2> /dev/null`
+ ebegin "Stopping LVM monitoring for VGs ${VGSLIST}:"
+ $VGCHANGE --monitor n ${VGSLIST}
+ ret=$?
+ eend $ret
+ return $ret
+}