mirror of
git://sourceware.org/git/lvm2.git
synced 2024-12-22 17:35:59 +03:00
9a96f930a7
There were several hard-coded values for run directory around the code. Also, some tools are DM specific only, others are LVM specific and there was no distinction made here before. With this patch applied, we have this cleaned up a bit (subsystem in brackets, defaults in parentheses): [common] configurable PID_DIR (/var/run) lvm [lvm] configurable RUN_DIR (/var/run/lvm) configurable locking dir (/var/lock/lvm) clvmd [lvm] configurable pid file (PID_DIR/clvmd.pid) socket (RUN_DIR/clvmd.sock) lvmetad [lvm] configurable pid file (PID_DIR/lvmetad.pid) socket (RUN_DIR/lvmetad.socket) dm [dm] configurable DM_RUN_DIR (/var/run) cmirrord [dm] configurable pid file (PID_DIR/cmirrord.pid) dmeventd [dm] configurable pid file (PID_DIR/dmeventd.pid) server fifo (DM_RUN_DIR/dmeventd-server) client fifo (DM_RUN_DIR/dmeventd-client) The changes briefly: - added configure --with-default-pid-dir - added configure --with-default-dm-run-dir - added configure --with-lvmetad-pidfile - by default, using one common pid directory for everything (only lvmetad was not following this before)
116 lines
2.2 KiB
Bash
116 lines
2.2 KiB
Bash
#!/bin/bash
|
|
#
|
|
# Copyright (C) 2012 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 LVM metadata daemon
|
|
#
|
|
# For Red-Hat-based distributions such as Fedora, RHEL, CentOS.
|
|
#
|
|
### BEGIN INIT INFO
|
|
# Provides: lvm2-lvmetad
|
|
# Required-Start: $local_fs
|
|
# Required-Stop: $local_fs
|
|
# Default-Start: 1 2 3 4 5
|
|
# Default-Stop: 0 6
|
|
# Short-Description: A daemon that maintains LVM metadata state for improved
|
|
# performance by avoiding further scans while running
|
|
# subsequent LVM commands or while using lvm2app library.
|
|
### END INIT INFO
|
|
|
|
. /etc/init.d/functions
|
|
|
|
DAEMON=lvmetad
|
|
|
|
exec_prefix=@exec_prefix@
|
|
sbindir=@sbindir@
|
|
|
|
lvm_pvscan="${sbindir}/lvm pvscan --cache"
|
|
|
|
LOCK_FILE="/var/lock/subsys/$DAEMON"
|
|
PID_FILE="@LVMETAD_PIDFILE@"
|
|
|
|
|
|
rh_status() {
|
|
status -p $PID_FILE $DAEMON
|
|
}
|
|
|
|
rh_status_q() {
|
|
rh_status >/dev/null 2>&1
|
|
}
|
|
|
|
start()
|
|
{
|
|
ret=0
|
|
action "Starting LVM metadata daemon:" $DAEMON && ${lvm_pvscan} > /dev/null || ret=$?
|
|
return $ret
|
|
}
|
|
|
|
|
|
stop()
|
|
{
|
|
ret=0
|
|
action "Signaling LVM metadata daemon to exit:" killproc -p $PID_FILE $DAEMON -TERM || ret=$?
|
|
return $ret
|
|
}
|
|
|
|
rtrn=1
|
|
|
|
# See how we were called.
|
|
case "$1" in
|
|
start)
|
|
rh_status_q && exit 0
|
|
start
|
|
rtrn=$?
|
|
[ $rtrn = 0 ] && touch $LOCK_FILE
|
|
;;
|
|
|
|
stop|force-stop)
|
|
rh_status_q || exit 0
|
|
stop
|
|
rtrn=$?
|
|
[ $rtrn = 0 ] && rm -f $LOCK_FILE
|
|
;;
|
|
|
|
restart)
|
|
if stop
|
|
then
|
|
start
|
|
fi
|
|
rtrn=$?
|
|
;;
|
|
|
|
condrestart|try-restart)
|
|
rh_status_q || exit 0
|
|
if stop
|
|
then
|
|
start
|
|
fi
|
|
rtrn=$?
|
|
;;
|
|
|
|
status)
|
|
rh_status
|
|
rtrn=$?
|
|
;;
|
|
|
|
*)
|
|
echo $"Usage: $0 {start|stop|force-stop|restart|condrestart|try-restart|status}"
|
|
;;
|
|
esac
|
|
|
|
exit $rtrn
|