diff options
author | Alasdair Kergon <agk@redhat.com> | 2009-09-16 23:22:40 +0000 |
---|---|---|
committer | Alasdair Kergon <agk@redhat.com> | 2009-09-16 23:22:40 +0000 |
commit | 595eaf925c846fe0a1f23ed9928a5e588838e032 (patch) | |
tree | 89d86db77204874102ed45a2fb79e1456863e342 /scripts/lvm2_monitoring_init_red_hat.in | |
parent | 5a446cfbb91ed3a0fd76dd922641b965eccd3a9f (diff) | |
download | lvm2-595eaf925c846fe0a1f23ed9928a5e588838e032.tar.gz lvm2-595eaf925c846fe0a1f23ed9928a5e588838e032.tar.xz lvm2-595eaf925c846fe0a1f23ed9928a5e588838e032.zip |
Update lvm2_monitoring script.
Diffstat (limited to 'scripts/lvm2_monitoring_init_red_hat.in')
-rw-r--r-- | scripts/lvm2_monitoring_init_red_hat.in | 119 |
1 files changed, 119 insertions, 0 deletions
diff --git a/scripts/lvm2_monitoring_init_red_hat.in b/scripts/lvm2_monitoring_init_red_hat.in new file mode 100644 index 00000000..18beae67 --- /dev/null +++ b/scripts/lvm2_monitoring_init_red_hat.in @@ -0,0 +1,119 @@ +#!/bin/bash +# +# Copyright (C) 2007-2009 Red Hat, Inc. All rights reserved. +# +# This copyrighted material is made available to anyone wishing to use, +# modify, copy, or redistribute it subject to the terms and conditions +# of the GNU General Public License v.2. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software Foundation, +# Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# This file is part of LVM2. +# It is required for the proper handling of failures of LVM2 mirror +# devices that were created using the -m option of lvcreate. +# +# +# chkconfig: 12345 02 99 +# description: Starts and stops dmeventd monitoring for lvm2 +# +# For Red-Hat-based distributions such as Fedora, RHEL, CentOS. +# +### BEGIN INIT INFO +# Provides: lvm2-monitoring +# Required-Start: $local_fs +# Required-Stop: $local_fs +# Default-Start: 1 2 3 4 5 +# Default-Stop: 0 6 +# Short-Description: Monitoring of LVM2 mirrors, snapshots etc. using dmeventd +### END INIT INFO + +. /etc/init.d/functions + +DAEMON=lvm2_monitoring + +exec_prefix=@exec_prefix@ +sbindir=@sbindir@ + +VGCHANGE=${sbindir}/vgchange +VGS=${sbindir}/vgs + +LOCK_FILE="/var/lock/subsys/$DAEMON" + +WARN=1 + +start() +{ + ret=0 + # TODO do we want to separate out already active groups only? + VGSLIST=`$VGS --noheadings -o name 2> /dev/null` + for vg in $VGSLIST + do + action "Starting monitoring for VG $vg:" $VGCHANGE --monitor y $vg || ret=$? + done + + return $ret +} + + +stop() +{ + ret=0 + # TODO do we want to separate out already active groups only? + if test "$WARN" = "1"; then + echo "Not stopping monitoring, this is a dangerous operation. Please use force-stop to override." + return 1 + fi + VGSLIST=`$VGS --noheadings -o name 2> /dev/null` + for vg in $VGSLIST + do + action "Stopping monitoring for VG $vg:" $VGCHANGE --monitor n $vg || ret=$? + done + return $ret +} + +rtrn=1 + +# See how we were called. +case "$1" in + start) + start + rtrn=$? + [ $rtrn = 0 ] && touch $LOCK_FILE + ;; + + force-stop) + WARN=0 + stop + rtrn=$? + [ $rtrn = 0 ] && rm -f $LOCK_FILE + ;; + + stop) + test "$runlevel" = "0" && WARN=0 + test "$runlevel" = "6" && WARN=0 + stop + rtrn=$? + [ $rtrn = 0 ] && rm -f $LOCK_FILE + ;; + + restart) + WARN=0 + if stop + then + start + fi + rtrn=$? + ;; + + status) + # TODO anyone with an idea how to dump monitored volumes? + ;; + + *) + echo $"Usage: $0 {start|stop|restart|status|force-stop}" + ;; +esac + +exit $rtrn |