# Authors: Bill Nottingham <notting@redhat.com>
# Miquel van Smoorenburg, <miquels@drinkel.nl.mugnet.org>
#
-# chkconfig: 345 25 75
+# chkconfig: - 26 74
# description: Mounts and unmounts all Lustre mount points.
#
### BEGIN INIT INFO
-# Provides: $local_fs $remote_fs
+# Provides: lustrefs
+# Required-Start: $network $remote_fs +sshd +lustre
+# Required-Stop: $network $remote_fs
+# Should-Start:
+# Should-Stop:
+# Default-Start: 3 5
+# Default-Stop: 0 1 2 6
+# Short-Description: Mounts and unmounts all Lustre mount points.
### END INIT INFO
-[ -f /etc/sysconfig/network ] || exit 0
-. /etc/init.d/functions
-. /etc/sysconfig/network
+# Source function library.
+if [ -f /etc/init.d/functions ]; then
+ . /etc/init.d/functions
+fi
+
+# Source networking configuration.
+if [ -f /etc/sysconfig/network ]; then
+ . /etc/sysconfig/network
+fi
+
+# Source lsb-functions.
+if [ -f /lib/lsb/init-functions ]; then
+ . /lib/lsb/init-functions
+fi
+
+[ -x /sbin/fuser ] && FUSER=/sbin/fuser
+[ -x /bin/fuser ] && FUSER=/bin/fuser
# Check that networking is up.
[ "${NETWORKING}" = "no" ] && exit 0
+# Red Hat has it's own "action"-function for RHGB-messages.
+lustre_action () {
+ STRING=$1
+ shift
+ if [ $(typeset -F action) ]; then
+ action "$STRING" $*
+ rc=$?
+ else
+ $*
+ rc=$?
+ if [ $rc = 0 ]; then
+ log_success_msg "$STRING"
+ else
+ log_failure_msg "$STRING"
+ fi
+ fi
+ return $rc
+}
+
LUSTREFSTAB=`LC_ALL=C awk '!/^#/ && $3 == "lustre" && $4 !~ /noauto/ { print $2 }' /etc/fstab`
-LUSTREMTAB=`LC_ALL=C awk '!/^#/ && $3 == "lustre" { print $2 }' /proc/mounts`
+LUSTREMTAB=`LC_ALL=C awk '!/^#/ && ($3 ~ "lustre") { print $2 }' /proc/mounts`
# See how we were called.
case "$1" in
start)
- [ -n "$LUSTREFSTAB" ] && action $"Mounting Lustre filesystems: " mount -a -t lustre
+ [ -n "$LUSTREFSTAB" ] && lustre_action $"Mounting Lustre filesystems: " mount -a -t lustre
touch /var/lock/subsys/lustrefs
;;
stop)
while [ -n "$remaining" -a "$retry" -gt 0 ]
do
if [ "$retry" -lt 3 ]; then
- action $"Unmounting Lustre filesystems (retry): " umount -f -a -t lustre
+ lustre_action $"Unmounting Lustre filesystems (retry): " umount -f -a -t lustre
else
- action $"Unmounting Lustre filesystems: " umount -a -t lustre
+ lustre_action $"Unmounting Lustre filesystems: " umount -a -t lustre
fi
sleep 2
remaining=`LC_ALL=C awk '!/^#/ && $3 ~ /^lustre/ && $2 != "/" {print $2}' /proc/mounts`
[ -z "$remaining" ] && break
- /sbin/fuser -k -m $sig $remaining >/dev/null
+ $FUSER -k -m $sig $remaining >/dev/null
sleep 5
retry=$(($retry - 1))
sig=-9