| # Usage: failmodule <failname> <modulename> [stacktrace-depth] |
| # <failname>: "failslab", "fail_alloc_page", or "fail_make_request" |
| # <modulename>: module name that you want to inject faults. |
| # [stacktrace-depth]: the maximum number of stacktrace walking allowed |
| if [ ! -d /debug/$1 ]; then |
| echo "Fault-injection $1 does not exist" >&2 |
| if [ ! -d /sys/module/$2 ]; then |
| echo "Module $2 does not exist" >&2 |
| # Disable any fault injection |
| echo 0 > /debug/$1/stacktrace-depth |
| echo `cat /sys/module/$2/sections/.text` > /debug/$1/require-start |
| echo `cat /sys/module/$2/sections/.exit.text` > /debug/$1/require-end |
| echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth |