#!/bin/bash # # Usage: failmodule [stacktrace-depth] # # : "failslab", "fail_alloc_page", or "fail_make_request" # # : module name that you want to inject faults. # # [stacktrace-depth]: the maximum number of stacktrace walking allowed # STACKTRACE_DEPTH=5 if [ $# -gt 2 ]; then STACKTRACE_DEPTH=$3 fi if [ ! -d /debug/$1 ]; then echo "Fault-injection $1 does not exist" >&2 exit 1 fi if [ ! -d /sys/module/$2 ]; then echo "Module $2 does not exist" >&2 exit 1 fi # 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