12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/bash
- #
- # Copyright (c) 2011 Bryan Schumaker <bjschuma@netapp.com>
- #
- # Script for easier NFSD fault injection
- # Check that debugfs has been mounted
- DEBUGFS=`cat /proc/mounts | grep debugfs`
- if [ "$DEBUGFS" == "" ]; then
- echo "debugfs does not appear to be mounted!"
- echo "Please mount debugfs and try again"
- exit 1
- fi
- # Check that the fault injection directory exists
- DEBUGDIR=`echo $DEBUGFS | awk '{print $2}'`/nfsd
- if [ ! -d "$DEBUGDIR" ]; then
- echo "$DEBUGDIR does not exist"
- echo "Check that your .config selects CONFIG_NFSD_FAULT_INJECTION"
- exit 1
- fi
- function help()
- {
- echo "Usage $0 injection_type [count]"
- echo ""
- echo "Injection types are:"
- ls $DEBUGDIR
- exit 1
- }
- if [ $# == 0 ]; then
- help
- elif [ ! -f $DEBUGDIR/$1 ]; then
- help
- elif [ $# != 2 ]; then
- COUNT=0
- else
- COUNT=$2
- fi
- BEFORE=`mktemp`
- AFTER=`mktemp`
- dmesg > $BEFORE
- echo $COUNT > $DEBUGDIR/$1
- dmesg > $AFTER
- # Capture lines that only exist in the $AFTER file
- diff $BEFORE $AFTER | grep ">"
- rm -f $BEFORE $AFTER
|