block: null_blk: make fault-injection dynamically configurable per device
authorAkinobu Mita <akinobu.mita@gmail.com>
Mon, 27 Mar 2023 14:37:33 +0000 (23:37 +0900)
committerJens Axboe <axboe@kernel.dk>
Thu, 13 Apr 2023 13:38:55 +0000 (07:38 -0600)
commitbb4c19e030f45c5416f1eb4daa94fbaf7165e9ea
tree9be9082ef9a9633d70b4055c73a9dd7edc238212
parent4668c7a2940d134bea50058e138591b97485c5da
block: null_blk: make fault-injection dynamically configurable per device

The null_blk driver has multiple driver-specific fault injection
mechanisms.  Each fault injection configuration can only be specified by a
module parameter and cannot be reconfigured without reloading the driver.
Also, each configuration is common to all devices and is initialized every
time a new device is added.

This change adds the following subdirectories for each null_blk device.

/sys/kernel/config/nullb/<disk>/timeout_inject
/sys/kernel/config/nullb/<disk>/requeue_inject
/sys/kernel/config/nullb/<disk>/init_hctx_fault_inject

Each fault injection attribute can be dynamically set per device by a
corresponding file in these directories.

Signed-off-by: Akinobu Mita <akinobu.mita@gmail.com>
Link: https://lore.kernel.org/r/20230327143733.14599-3-akinobu.mita@gmail.com
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Documentation/fault-injection/fault-injection.rst
drivers/block/null_blk/Kconfig
drivers/block/null_blk/main.c
drivers/block/null_blk/null_blk.h