| Akinobu Mita | de1ba09 | 2006-12-08 02:39:42 -0800 | [diff] [blame] | 1 | #!/bin/bash | 
 | 2 | # | 
 | 3 | # Usage: failmodule <failname> <modulename> [stacktrace-depth] | 
 | 4 | # | 
 | 5 | #	<failname>: "failslab", "fail_alloc_page", or "fail_make_request" | 
 | 6 | # | 
 | 7 | #	<modulename>: module name that you want to inject faults. | 
 | 8 | # | 
 | 9 | #	[stacktrace-depth]: the maximum number of stacktrace walking allowed | 
 | 10 | # | 
 | 11 |  | 
 | 12 | STACKTRACE_DEPTH=5 | 
 | 13 | if [ $# -gt 2 ]; then | 
 | 14 | 	STACKTRACE_DEPTH=$3 | 
 | 15 | fi | 
 | 16 |  | 
 | 17 | if [ ! -d /debug/$1 ]; then | 
 | 18 | 	echo "Fault-injection $1 does not exist" >&2 | 
 | 19 | 	exit 1 | 
 | 20 | fi | 
 | 21 | if [ ! -d /sys/module/$2 ]; then | 
 | 22 | 	echo "Module $2 does not exist" >&2 | 
 | 23 | 	exit 1 | 
 | 24 | fi | 
 | 25 |  | 
 | 26 | # Disable any fault injection | 
 | 27 | echo 0 > /debug/$1/stacktrace-depth | 
 | 28 |  | 
| Don Mullis | 5d0ffa2 | 2006-12-08 02:39:50 -0800 | [diff] [blame] | 29 | echo `cat /sys/module/$2/sections/.text` > /debug/$1/require-start | 
 | 30 | echo `cat /sys/module/$2/sections/.exit.text` > /debug/$1/require-end | 
| Akinobu Mita | de1ba09 | 2006-12-08 02:39:42 -0800 | [diff] [blame] | 31 | echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth |