blob: 474a8b971f9ca82ad722e4166e6d323cee368a36 [file] [log] [blame]
Akinobu Mitade1ba092006-12-08 02:39:42 -08001#!/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
12STACKTRACE_DEPTH=5
13if [ $# -gt 2 ]; then
14 STACKTRACE_DEPTH=$3
15fi
16
17if [ ! -d /debug/$1 ]; then
18 echo "Fault-injection $1 does not exist" >&2
19 exit 1
20fi
21if [ ! -d /sys/module/$2 ]; then
22 echo "Module $2 does not exist" >&2
23 exit 1
24fi
25
26# Disable any fault injection
27echo 0 > /debug/$1/stacktrace-depth
28
Don Mullis5d0ffa22006-12-08 02:39:50 -080029echo `cat /sys/module/$2/sections/.text` > /debug/$1/require-start
30echo `cat /sys/module/$2/sections/.exit.text` > /debug/$1/require-end
Akinobu Mitade1ba092006-12-08 02:39:42 -080031echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth