blob: 68c7b6abbe09f7dba09627a692a6f0d1e724fffa (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
|
#!/sbin/runscript
# Copyright 1999-2005 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/sys-cluster/fence/files/fenced.rc,v 1.4 2005/03/25 02:15:31 xmerlin Exp $
depend() {
use net
need ccs cluster-manager cluster-locking-manager
}
start() {
ebegin "Starting fence domain"
/sbin/fence_tool join ${FENCED_OPTS}> /dev/null 2>&1
eend $?
}
umount_gfs_filesystems() {
local sig retry
local remaining="$(awk '$3 ~ /gfs/ { print $2 }' /proc/mounts | sort -r)"
if [ -n "${remaining}" ]
then
sig=
retry=3
while [ -n "${remaining}" -a "${retry}" -gt 0 ]
do
if [ "${retry}" -lt 3 ]
then
ebegin "Unmounting GFS filesystems (retry)"
umount ${remaining} &>/dev/null
eend $? "Failed to unmount GFS filesystems this retry"
else
ebegin "Unmounting GFS filesystems"
umount ${remaining} &>/dev/null
eend $? "Failed to unmount GFS filesystems"
fi
remaining="$(awk '$3 ~ /gfs/ { if ($2 != "/") print $2 }' /proc/mounts | sort -r)"
[ -z "${remaining}" ] && break
/bin/fuser -k -m ${sig} ${remaining} &>/dev/null
sleep 5
retry=$((${retry} -1))
sig=-9
done
fi
}
stop() {
# umount GFS filesystems
umount_gfs_filesystems
ebegin "Stopping fence domain"
/sbin/fence_tool leave > /dev/null 2>&1
eend $?
}
|