1
0
mirror of https://github.com/samba-team/samba.git synced 2025-01-25 06:04:04 +03:00

56 lines
1.1 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# script to check accessibility to the reclock file on a node
[ -n "$CTDB_BASE" ] || \
export CTDB_BASE=$(cd -P $(dirname "$0") ; dirname "$PWD")
. $CTDB_BASE/functions
loadconfig
# If CTDB_RECOVERY_LOCK specifies a helper then exit because this
# script can't do anything useful.
case "$CTDB_RECOVERY_LOCK" in
!*) exit 0 ;;
esac
case "$1" in
init)
ctdb_counter_init
if [ -n "$CTDB_RECOVERY_LOCK" ] ; then
d=$(dirname "$CTDB_RECOVERY_LOCK")
mkdir -vp "$d"
fi
;;
monitor)
# Early exit if not using a reclock file
[ -n "$CTDB_RECOVERY_LOCK" ] || exit 0
# Try to stat the reclock file as a background process so that
# we don't block in case the cluster filesystem is unavailable
(
if stat $CTDB_RECOVERY_LOCK ; then
# We could stat the file, reset the counter
ctdb_counter_init
fi
) >/dev/null 2>&1 &
ctdb_counter_incr
if ! ctdb_check_counter "quiet" -ge 200 ; then
echo "Reclock file \"$CTDB_RECOVERY_LOCK\" can not be accessed. Shutting down."
df
sleep 1
ctdb shutdown
fi
ctdb_check_counter "error" -gt 3
;;
*)
ctdb_standard_event_handler "$@"
;;
esac
exit 0