]> git.baikalelectronics.ru Git - kernel.git/commit
SUNRPC: Cache deferral injection
authorChuck Lever <chuck.lever@oracle.com>
Thu, 31 Mar 2022 19:30:10 +0000 (15:30 -0400)
committerChuck Lever <chuck.lever@oracle.com>
Thu, 19 May 2022 16:25:38 +0000 (12:25 -0400)
commitd3d4ae538d56ff1d520c3bae22c4ce03219de0ad
tree34bacc7faeb7ad7e0eb5e7f960fe76b67c1f0c58
parent8fa88bc06c4f249eb64f5d827b37551c274a8e6b
SUNRPC: Cache deferral injection

Cache deferral injection stress-tests the cache deferral logic as
well as upper layer protocol deferred request handlers. This
facility is for developers and professional testers to ensure
coverage of the rqst deferral code paths. To date, we haven't
had an adequate way to ensure these code paths are covered
during testing, short of temporary code changes to force their
use.

A file called /sys/kernel/debug/fail_sunrpc/ignore-cache-wait
enables administrators to disable cache deferral injection while
allowing other types of sunrpc errors to be injected. The default
setting is that cache deferral injection is enabled (ignore=false).

To enable support for cache deferral injection,
CONFIG_FAULT_INJECTION, CONFIG_FAULT_INJECTION_DEBUG_FS, and
CONFIG_SUNRPC_DEBUG must all be set to "Y".

Signed-off-by: Chuck Lever <chuck.lever@oracle.com>
net/sunrpc/cache.c
net/sunrpc/debugfs.c
net/sunrpc/fail.h