#!/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 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