#! /bin/bash

# disable-faults --devs=MASK

parms=/sys/module/drbd/parameters

options=`getopt -o h --long devs: -- "$@"`
eval set -- "$options"

usage() {
    echo "USAGE: ${0##*/} [--devs=MASK]" >&2
    exit 1
}

declare opt_devs=0
while :; do
    case "$1" in
    --devs)
	eval "opt_${1#--}=\$2"
	shift
	;;
    --)
	shift
	break
	;;
    *)
	usage
	;;
    esac
    shift
done

[ $# -eq 0 ] || usage

if ! [ -e $parms/enable_faults -a -e $parms/fault_rate -a -e $parms/fault_devs ]; then
    echo "${0##*/}: Fault injection parameters not found in $parms; is the drbd" \
	 "kernel module compiled with CONFIG_DRBD_FAULT_INJECTION enabled?" >&2
    exit 1
fi

previous_devs=$(< $parms/fault_devs)
if [ $previous_devs -ne $opt_devs ]; then
    echo "WARNING: Fault injection was enabled for a different device mask ($previous_devs)" >&2
fi

echo 0 > $parms/fault_devs
echo 0 > $parms/enable_faults
echo 0 > $parms/fault_rate
