|
Packit Service |
360c39 |
#!/bin/bash
|
|
Packit Service |
360c39 |
#
|
|
Packit Service |
360c39 |
# gfs2 mount/unmount helper
|
|
Packit Service |
360c39 |
#
|
|
Packit Service |
360c39 |
# chkconfig: - 26 74
|
|
Packit Service |
360c39 |
# description: mount/unmount gfs2 filesystems configured in /etc/fstab
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
### BEGIN INIT INFO
|
|
Packit Service |
360c39 |
# Provides: gfs2
|
|
Packit Service |
360c39 |
# Required-Start: $network cman gfs_controld
|
|
Packit Service |
360c39 |
# Required-Stop: $network cman gfs_controld
|
|
Packit Service |
360c39 |
# Default-Start:
|
|
Packit Service |
360c39 |
# Default-Stop:
|
|
Packit Service |
360c39 |
# Short-Description: mount/unmount gfs2 filesystems configured in /etc/fstab
|
|
Packit Service |
360c39 |
# Description: mount/unmount gfs2 filesystems configured in /etc/fstab
|
|
Packit Service |
360c39 |
### END INIT INFO
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
# set secure PATH
|
|
Packit Service |
360c39 |
PATH="/bin:/sbin:/usr/sbin:/usr/bin"
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
### generic wrapper functions
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
success()
|
|
Packit Service |
360c39 |
{
|
|
Packit Service |
360c39 |
echo -ne "[ OK ]\r"
|
|
Packit Service |
360c39 |
}
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
failure()
|
|
Packit Service |
360c39 |
{
|
|
Packit Service |
360c39 |
echo -ne "[FAILED]\r"
|
|
Packit Service |
360c39 |
}
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
ok() {
|
|
Packit Service |
360c39 |
success
|
|
Packit Service |
360c39 |
echo
|
|
Packit Service |
360c39 |
}
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
nok() {
|
|
Packit Service |
360c39 |
echo -e "$errmsg"
|
|
Packit Service |
360c39 |
failure
|
|
Packit Service |
360c39 |
echo
|
|
Packit Service |
360c39 |
exit 1
|
|
Packit Service |
360c39 |
}
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
# rpm based distros
|
|
Packit Service |
360c39 |
if [ -d /etc/sysconfig ]; then
|
|
Packit Service |
360c39 |
[ -f /etc/init.d/functions ] && . /etc/init.d/functions
|
|
Packit Service |
360c39 |
[ -f /etc/sysconfig/cluster ] && . /etc/sysconfig/cluster
|
|
Packit Service |
360c39 |
[ -f /etc/sysconfig/gfs2 ] && . /etc/sysconfig/gfs2
|
|
Packit Service |
360c39 |
[ -z "$LOCK_FILE" ] && LOCK_FILE="/var/lock/subsys/gfs2"
|
|
Packit Service |
360c39 |
fi
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
# deb based distros
|
|
Packit Service |
360c39 |
if [ -d /etc/default ]; then
|
|
Packit Service |
360c39 |
[ -f /etc/default/cluster ] && . /etc/default/cluster
|
|
Packit Service |
360c39 |
[ -f /etc/default/gfs2 ] && . /etc/default/gfs2
|
|
Packit Service |
360c39 |
[ -z "$LOCK_FILE" ] && LOCK_FILE="/var/lock/gfs2"
|
|
Packit Service |
360c39 |
fi
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
# proc is required for both status and stop.
|
|
Packit Service |
360c39 |
# start could live without, but better be consistent with the behavior
|
|
Packit Service |
360c39 |
if [ ! -f /proc/mounts ]; then
|
|
Packit Service |
360c39 |
echo "GFS2: /proc is not available, unable to proceed"
|
|
Packit Service |
360c39 |
exit 1
|
|
Packit Service |
360c39 |
fi
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
#
|
|
Packit Service |
360c39 |
# This script's behavior is modeled closely after the netfs script.
|
|
Packit Service |
360c39 |
#
|
|
Packit Service |
360c39 |
GFS2FSTAB=$(LC_ALL=C awk '!/^#/ && $3 == "gfs2" && $4 !~ /noauto/ { print $2 }' /etc/fstab)
|
|
Packit Service |
360c39 |
GFS2MTAB=$(LC_ALL=C awk '!/^#/ && $3 == "gfs2" && $2 != "/" { print $2 }' /proc/mounts | sort -r)
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
if [ -z "$GFS2FSTAB" ]; then
|
|
Packit Service |
360c39 |
echo "GFS2: no entries found in /etc/fstab"
|
|
Packit Service |
360c39 |
exit 6
|
|
Packit Service |
360c39 |
fi
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
# See how we were called.
|
|
Packit Service |
360c39 |
case "$1" in
|
|
Packit Service |
360c39 |
start)
|
|
Packit Service |
360c39 |
[ -z "$GFS2FSTAB" ] && exit 0
|
|
Packit Service |
360c39 |
echo -n "Mounting GFS2 filesystems: "
|
|
Packit Service |
360c39 |
errmsg="$(mount -a -t gfs2 2>&1)" || nok
|
|
Packit Service |
360c39 |
touch $LOCK_FILE
|
|
Packit Service |
360c39 |
ok
|
|
Packit Service |
360c39 |
;;
|
|
Packit Service |
360c39 |
stop)
|
|
Packit Service |
360c39 |
[ -z "$GFS2MTAB" ] && exit 0
|
|
Packit Service |
360c39 |
echo -n "Unmounting GFS2 filesystems: "
|
|
Packit Service |
360c39 |
errmsg="$(umount -a -t gfs2 2>&1)" || nok
|
|
Packit Service |
360c39 |
modprobe -r gfs2 > /dev/null 2>&1 || true
|
|
Packit Service |
360c39 |
rm -f $LOCK_FILE
|
|
Packit Service |
360c39 |
ok
|
|
Packit Service |
360c39 |
;;
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
status)
|
|
Packit Service |
360c39 |
if [ -z "$GFS2MTAB" ] && [ -f $LOCK_FILE ]; then
|
|
Packit Service |
360c39 |
echo "GFS2: Found stale lock file $LOCK_FILE"
|
|
Packit Service |
360c39 |
exit 2
|
|
Packit Service |
360c39 |
fi
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
if [ -n "$GFS2FSTAB" ] && [ -z "$GFS2MTAB" ]; then
|
|
Packit Service |
360c39 |
echo "GFS2: service is not running"
|
|
Packit Service |
360c39 |
exit 3
|
|
Packit Service |
360c39 |
fi
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
echo "Configured GFS2 mountpoints: "
|
|
Packit Service |
360c39 |
for fs in $GFS2FSTAB; do
|
|
Packit Service |
360c39 |
echo $fs;
|
|
Packit Service |
360c39 |
done
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
echo "Active GFS2 mountpoints: "
|
|
Packit Service |
360c39 |
for fs in $GFS2MTAB; do
|
|
Packit Service |
360c39 |
echo $fs;
|
|
Packit Service |
360c39 |
done
|
|
Packit Service |
360c39 |
;;
|
|
Packit Service |
360c39 |
condrestart|try-restart)
|
|
Packit Service |
360c39 |
$0 status >/dev/null 2>&1 || exit 0
|
|
Packit Service |
360c39 |
$0 restart
|
|
Packit Service |
360c39 |
;;
|
|
Packit Service |
360c39 |
restart|reload|force-reload)
|
|
Packit Service |
360c39 |
$0 stop
|
|
Packit Service |
360c39 |
$0 start
|
|
Packit Service |
360c39 |
;;
|
|
Packit Service |
360c39 |
*)
|
|
Packit Service |
360c39 |
echo "Usage: $0 {start|stop|restart|reload|force-reload|condrestart|try-restart|status}"
|
|
Packit Service |
360c39 |
exit 2
|
|
Packit Service |
360c39 |
;;
|
|
Packit Service |
360c39 |
esac
|
|
Packit Service |
360c39 |
|
|
Packit Service |
360c39 |
exit 0
|