2020-03-12 22:03:12

by Dongli Zhang

[permalink] [raw]
Subject: [PATCH for-5.7/drivers v2 1/1] null_blk: describe the usage of fault injection param

As null_blk is a very good start point to test block layer, this patch
adds description and comments to 'timeout', 'requeue' and 'init_hctx' to
explain how to use fault injection with null_blk.

The nvme has similar with nvme_core.fail_request in the form of comment.

Signed-off-by: Dongli Zhang <[email protected]>
---
Changed since v1:
- rebase at for-5.7/drivers
- describe 'init_hctx' as well

drivers/block/null_blk_main.c | 7 +++++++
1 file changed, 7 insertions(+)

diff --git a/drivers/block/null_blk_main.c b/drivers/block/null_blk_main.c
index 8060ffa4bc75..b324cc5fcaf7 100644
--- a/drivers/block/null_blk_main.c
+++ b/drivers/block/null_blk_main.c
@@ -97,14 +97,21 @@ module_param_named(home_node, g_home_node, int, 0444);
MODULE_PARM_DESC(home_node, "Home node for the device");

#ifdef CONFIG_BLK_DEV_NULL_BLK_FAULT_INJECTION
+/*
+ * For more details about fault injection, please refer to
+ * Documentation/fault-injection/fault-injection.rst.
+ */
static char g_timeout_str[80];
module_param_string(timeout, g_timeout_str, sizeof(g_timeout_str), 0444);
+MODULE_PARM_DESC(timeout, "Fault injection. timeout=<interval>,<probability>,<space>,<times>");

static char g_requeue_str[80];
module_param_string(requeue, g_requeue_str, sizeof(g_requeue_str), 0444);
+MODULE_PARM_DESC(requeue, "Fault injection. requeue=<interval>,<probability>,<space>,<times>");

static char g_init_hctx_str[80];
module_param_string(init_hctx, g_init_hctx_str, sizeof(g_init_hctx_str), 0444);
+MODULE_PARM_DESC(init_hctx, "Fault injection to fail hctx init. init_hctx=<interval>,<probability>,<space>,<times>");
#endif

static int g_queue_mode = NULL_Q_MQ;
--
2.17.1


2020-03-12 22:20:58

by Chaitanya Kulkarni

[permalink] [raw]
Subject: Re: [PATCH for-5.7/drivers v2 1/1] null_blk: describe the usage of fault injection param

NVMe does have the same format in host/fault_inject.c.

This description matches what we have in :-

null_setup_fault
__null_setup_fault()
setup_fault_attr()

looks good to me.

Reviewed-by: Chaitanya Kulkarni <[email protected]>

On 03/12/2020 03:01 PM, Dongli Zhang wrote:
> As null_blk is a very good start point to test block layer, this patch
> adds description and comments to 'timeout', 'requeue' and 'init_hctx' to
> explain how to use fault injection with null_blk.
>
> The nvme has similar with nvme_core.fail_request in the form of comment.
>
> Signed-off-by: Dongli Zhang<[email protected]>

2020-03-13 00:56:13

by Jens Axboe

[permalink] [raw]
Subject: Re: [PATCH for-5.7/drivers v2 1/1] null_blk: describe the usage of fault injection param

On 3/12/20 4:01 PM, Dongli Zhang wrote:
> As null_blk is a very good start point to test block layer, this patch
> adds description and comments to 'timeout', 'requeue' and 'init_hctx' to
> explain how to use fault injection with null_blk.
>
> The nvme has similar with nvme_core.fail_request in the form of comment.

Applied, thanks.

--
Jens Axboe