Commit | Line | Data |
---|---|---|
de1ba09b AM |
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 | ||
5d0ffa2b DM |
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 | |
de1ba09b | 31 | echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth |