Changes from last version
- add stacktrace filter
- drop process-filter from boot-time setup
- build fixes from Don Mullis
- add documentation and some scripts
---
This patch set provides some fault-injection capabilities.
- kmalloc() failures
- alloc_pages() failures
- disk IO errors
We can see what really happens if those failures happen.
In order to enable these fault-injection capabilities:
1. Enable relevant config options (CONFIG_FAILSLAB, CONFIG_PAGE_ALLOC,
CONFIG_MAKE_REQUEST) and runtime configuration kernel module
(CONFIG_FAULT_INJECTION_DEBUGFS)
2. build and boot with this kernel
3. modprobe fault-inject-debugfs
4. configure fault-injection capabilities behavior by debugfs
For example about kmalloc failures:
/debug/failslab/probability
specifies how often it should fail in percent.
/debug/failslab/interval
specifies the interval of failures.
/debug/failslab/times
specifies how many times failures may happen at most.
/debug/failslab/space
specifies the size of free space where memory can be allocated
safely in bytes.
/debug/failslab/process-filter
specifies whether process filter is enabled or not.
it allows failing only permitted processes by /proc/<pid>/make-it-fail
/debug/failslab/stacktrace-depth
specifies the maximum stacktrace depth walking allowed.
a value '0' means stacktrace filter is disabled.
/debug/failslab/address-start
/debug/failslab/address-end
specifies the range of virtual address.
it allows failing only if the stacktrace hits in this range.
5. see what really happens.