Commit 5d0ffa2b authored by Don Mullis's avatar Don Mullis Committed by Linus Torvalds

[PATCH] fault-injection: Correct, disambiguate, and reformat documentation

Correct, disambiguate, and reformat documentation.
Signed-off-by: default avatarDon Mullis <dwm@meer.net>
Cc: Akinobu Mita <akinobu.mita@gmail.com>
Signed-off-by: default avatarAndrew Morton <akpm@osdl.org>
Signed-off-by: default avatarLinus Torvalds <torvalds@osdl.org>
parent 83ba2546
...@@ -26,6 +26,6 @@ fi ...@@ -26,6 +26,6 @@ fi
# Disable any fault injection # Disable any fault injection
echo 0 > /debug/$1/stacktrace-depth echo 0 > /debug/$1/stacktrace-depth
echo `cat /sys/module/$2/sections/.text` > /debug/$1/address-start echo `cat /sys/module/$2/sections/.text` > /debug/$1/require-start
echo `cat /sys/module/$2/sections/.exit.text` > /debug/$1/address-end echo `cat /sys/module/$2/sections/.exit.text` > /debug/$1/require-end
echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth echo $STACKTRACE_DEPTH > /debug/$1/stacktrace-depth
...@@ -17,7 +17,7 @@ o fail_page_alloc ...@@ -17,7 +17,7 @@ o fail_page_alloc
o fail_make_request o fail_make_request
injects disk IO errors on permitted devices by injects disk IO errors on devices permitted by setting
/sys/block/<device>/make-it-fail or /sys/block/<device>/make-it-fail or
/sys/block/<device>/<partition>/make-it-fail. (generic_make_request()) /sys/block/<device>/<partition>/make-it-fail. (generic_make_request())
...@@ -29,16 +29,16 @@ o debugfs entries ...@@ -29,16 +29,16 @@ o debugfs entries
fault-inject-debugfs kernel module provides some debugfs entries for runtime fault-inject-debugfs kernel module provides some debugfs entries for runtime
configuration of fault-injection capabilities. configuration of fault-injection capabilities.
- /debug/*/probability: - /debug/fail*/probability:
likelihood of failure injection, in percent. likelihood of failure injection, in percent.
Format: <percent> Format: <percent>
Note that one-failure-per-handred is a very high error rate Note that one-failure-per-hundred is a very high error rate
for some testcases. Please set probably=100 and configure for some testcases. Consider setting probability=100 and configure
/debug/*/interval for such testcases. /debug/fail*/interval for such testcases.
- /debug/*/interval: - /debug/fail*/interval:
specifies the interval between failures, for calls to specifies the interval between failures, for calls to
should_fail() that pass all the other tests. should_fail() that pass all the other tests.
...@@ -46,37 +46,36 @@ configuration of fault-injection capabilities. ...@@ -46,37 +46,36 @@ configuration of fault-injection capabilities.
Note that if you enable this, by setting interval>1, you will Note that if you enable this, by setting interval>1, you will
probably want to set probability=100. probably want to set probability=100.
- /debug/*/times: - /debug/fail*/times:
specifies how many times failures may happen at most. specifies how many times failures may happen at most.
A value of -1 means "no limit". A value of -1 means "no limit".
- /debug/*/space: - /debug/fail*/space:
specifies an initial resource "budget", decremented by "size" specifies an initial resource "budget", decremented by "size"
on each call to should_fail(,size). Failure injection is on each call to should_fail(,size). Failure injection is
suppressed until "space" reaches zero. suppressed until "space" reaches zero.
- /debug/*/verbose - /debug/fail*/verbose
Format: { 0 | 1 | 2 } Format: { 0 | 1 | 2 }
specifies the verbosity of the messages when failure is injected. specifies the verbosity of the messages when failure is
We default to 0 (no extra messages), setting it to '1' will injected. '0' means no messages; '1' will print only a single
print only to tell failure happened, '2' will print call trace too - log line per failure; '2' will print a call trace too -- useful
it is useful to debug the problems revealed by fault injection to debug the problems revealed by fault injection.
capabilities.
- /debug/*/task-filter: - /debug/fail*/task-filter:
Format: { 0 | 1 } Format: { 'Y' | 'N' }
A value of '0' disables filtering by process (default). A value of 'N' disables filtering by process (default).
Any positive value limits failures to only processes indicated by Any positive value limits failures to only processes indicated by
/proc/<pid>/make-it-fail==1. /proc/<pid>/make-it-fail==1.
- /debug/*/require-start: - /debug/fail*/require-start:
- /debug/*/require-end: - /debug/fail*/require-end:
- /debug/*/reject-start: - /debug/fail*/reject-start:
- /debug/*/reject-end: - /debug/fail*/reject-end:
specifies the range of virtual addresses tested during specifies the range of virtual addresses tested during
stacktrace walking. Failure is injected only if some caller stacktrace walking. Failure is injected only if some caller
...@@ -85,22 +84,23 @@ configuration of fault-injection capabilities. ...@@ -85,22 +84,23 @@ configuration of fault-injection capabilities.
Default required range is [0,ULONG_MAX) (whole of virtual address space). Default required range is [0,ULONG_MAX) (whole of virtual address space).
Default rejected range is [0,0). Default rejected range is [0,0).
- /debug/*/stacktrace-depth: - /debug/fail*/stacktrace-depth:
specifies the maximum stacktrace depth walked during search specifies the maximum stacktrace depth walked during search
for a caller within [address-start,address-end). for a caller within [require-start,require-end) OR
[reject-start,reject-end).
- /debug/fail_page_alloc/ignore-gfp-highmem: - /debug/fail_page_alloc/ignore-gfp-highmem:
Format: { 0 | 1 } Format: { 'Y' | 'N' }
default is 0, setting it to '1' won't inject failures into default is 'N', setting it to 'Y' won't inject failures into
highmem/user allocations. highmem/user allocations.
- /debug/failslab/ignore-gfp-wait: - /debug/failslab/ignore-gfp-wait:
- /debug/fail_page_alloc/ignore-gfp-wait: - /debug/fail_page_alloc/ignore-gfp-wait:
Format: { 0 | 1 } Format: { 'Y' | 'N' }
default is 0, setting it to '1' will inject failures default is 'N', setting it to 'Y' will inject failures
only into non-sleep allocations (GFP_ATOMIC allocations). only into non-sleep allocations (GFP_ATOMIC allocations).
o Boot option o Boot option
...@@ -124,19 +124,19 @@ o define the fault attributes ...@@ -124,19 +124,19 @@ o define the fault attributes
Please see the definition of struct fault_attr in fault-inject.h Please see the definition of struct fault_attr in fault-inject.h
for details. for details.
o provide the way to configure fault attributes o provide a way to configure fault attributes
- boot option - boot option
If you need to enable the fault injection capability from boot time, you can If you need to enable the fault injection capability from boot time, you can
provide boot option to configure it. There is a helper function for it. provide boot option to configure it. There is a helper function for it:
setup_fault_attr(attr, str); setup_fault_attr(attr, str);
- debugfs entries - debugfs entries
failslab, fail_page_alloc, and fail_make_request use this way. failslab, fail_page_alloc, and fail_make_request use this way.
There is a helper function for it. Helper functions:
init_fault_attr_entries(entries, attr, name); init_fault_attr_entries(entries, attr, name);
void cleanup_fault_attr_entries(entries); void cleanup_fault_attr_entries(entries);
...@@ -149,9 +149,9 @@ o provide the way to configure fault attributes ...@@ -149,9 +149,9 @@ o provide the way to configure fault attributes
o add a hook to insert failures o add a hook to insert failures
should_fail() returns 1 when failures should happen. Upon should_fail() returning true, client code should inject a failure.
should_fail(attr,size); should_fail(attr, size);
Application Examples Application Examples
-------------------- --------------------
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment