[lvm-devel] master - initscripts: lvm2-monitor: implement status action

Peter Rajnoha prajnoha at fedoraproject.org
Fri Feb 27 14:39:02 UTC 2015


Gitweb:        http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=57e9e76da4a678957e2db07a4b6b5f75385d4539
Commit:        57e9e76da4a678957e2db07a4b6b5f75385d4539
Parent:        379fb90b05b9fae0559fb697981198d8bb58e0f9
Author:        Jose Castillo <jcastillo at redhat.com>
AuthorDate:    Fri Feb 27 15:38:34 2015 +0100
Committer:     Peter Rajnoha <prajnoha at redhat.com>
CommitterDate: Fri Feb 27 15:38:34 2015 +0100

initscripts: lvm2-monitor: implement status action

Two new functions added in the init script: rh_status and rh_status_q.
First one to be used in status() and second one to be used in start(),
stop(), force_stop(). Check for 'dmeventd' added and print list of
lvs being monitored in status().
---
 WHATS_NEW                               |    1 +
 scripts/lvm2_monitoring_init_red_hat.in |   17 ++++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletions(-)

diff --git a/WHATS_NEW b/WHATS_NEW
index bc2630c..87ea7b6 100644
--- a/WHATS_NEW
+++ b/WHATS_NEW
@@ -1,5 +1,6 @@
 Version 2.02.117 - 
 ====================================
+  Implement status action for lvm2-monitor initscript to display monitored LVs.
   Allow lvchange -p to change kernel state only if metadata state differs.
   Fix incorrect persistent .cache after report with label fields only (2.02.106).
   Reinstate PV tag recognition for pvs if reporting label fields only (2.02.105).
diff --git a/scripts/lvm2_monitoring_init_red_hat.in b/scripts/lvm2_monitoring_init_red_hat.in
index 44de07f..90b6edc 100644
--- a/scripts/lvm2_monitoring_init_red_hat.in
+++ b/scripts/lvm2_monitoring_init_red_hat.in
@@ -32,18 +32,28 @@
 . /etc/init.d/functions
 
 DAEMON=lvm2-monitor
+DMEVENTD_DAEMON=dmeventd
 
 exec_prefix=@exec_prefix@
 sbindir=@sbindir@
 
 VGCHANGE=${sbindir}/vgchange
 VGS=${sbindir}/vgs
+LVS=${sbindir}/lvs
 
 LOCK_FILE="/var/lock/subsys/$DAEMON"
+PID_FILE="/var/run/dmeventd.pid"
 
 WARN=1
 export LVM_SUPPRESS_LOCKING_FAILURE_MESSAGES=1
 
+rh_status() {
+	status -p $PID_FILE $DMEVENTD_DAEMON
+}
+
+rh_status_q() {
+	rh_status >/dev/null 2>&1
+}
 start()
 {
 	ret=0
@@ -79,12 +89,14 @@ rtrn=1
 # See how we were called.
 case "$1" in
   start)
+	rh_status_q && exit 0
 	start
 	rtrn=$?
 	[ $rtrn = 0 ] && touch $LOCK_FILE
 	;;
 
   force-stop)
+	rh_status_q || exit 0
 	WARN=0
 	stop
 	rtrn=$?
@@ -92,6 +104,7 @@ case "$1" in
 	;;
 
   stop)
+	rh_status_q || exit 0
 	test "$runlevel" = "0" && WARN=0
 	test "$runlevel" = "6" && WARN=0
 	stop
@@ -109,7 +122,9 @@ case "$1" in
 	;;
 
   status)
-	# TODO anyone with an idea how to dump monitored volumes?
+	rh_status
+	rtrn=$?
+	[ $rtrn = 0 ] && $LVS -S 'seg_monitor=monitored' -o lv_full_name,seg_monitor
 	;;
 
   *)




More information about the lvm-devel mailing list