]> git.proxmox.com Git - mirror_ubuntu-artful-kernel.git/blob - tools/nfsd/inject_fault.sh
Merge branch 'rmobile/urgent' into rmobile-fixes-for-linus
[mirror_ubuntu-artful-kernel.git] / tools / nfsd / inject_fault.sh
1 #!/bin/bash
2 #
3 # Copyright (c) 2011 Bryan Schumaker <bjschuma@netapp.com>
4 #
5 # Script for easier NFSD fault injection
6
7 # Check that debugfs has been mounted
8 DEBUGFS=`cat /proc/mounts | grep debugfs`
9 if [ "$DEBUGFS" == "" ]; then
10 echo "debugfs does not appear to be mounted!"
11 echo "Please mount debugfs and try again"
12 exit 1
13 fi
14
15 # Check that the fault injection directory exists
16 DEBUGDIR=`echo $DEBUGFS | awk '{print $2}'`/nfsd
17 if [ ! -d "$DEBUGDIR" ]; then
18 echo "$DEBUGDIR does not exist"
19 echo "Check that your .config selects CONFIG_NFSD_FAULT_INJECTION"
20 exit 1
21 fi
22
23 function help()
24 {
25 echo "Usage $0 injection_type [count]"
26 echo ""
27 echo "Injection types are:"
28 ls $DEBUGDIR
29 exit 1
30 }
31
32 if [ $# == 0 ]; then
33 help
34 elif [ ! -f $DEBUGDIR/$1 ]; then
35 help
36 elif [ $# != 2 ]; then
37 COUNT=0
38 else
39 COUNT=$2
40 fi
41
42 BEFORE=`mktemp`
43 AFTER=`mktemp`
44 dmesg > $BEFORE
45 echo $COUNT > $DEBUGDIR/$1
46 dmesg > $AFTER
47 # Capture lines that only exist in the $AFTER file
48 diff $BEFORE $AFTER | grep ">"
49 rm -f $BEFORE $AFTER