Spdk/test/unit/lib
Shuhei Matsumoto 80e81273e2 bdev/nvme: Do not use ctrlr for I/O submission if reconnect failed repeatedly
If ctrlr_loss_timeout_sec is set to -1, reconnect is tried repeatedly
indefinitely, and I/Os continue to be queued.

This patch adds another option fast_io_fail_timeout_sec, a flag
fast_io_fail_timedout to nvme_ctrlr.

If the time fast_io_fail_timeout_sec passed after starting reset,
set fast_io_fail_timedout to true not to use the path for I/O submission.

fast_io_fail_timeout_sec is initialized to zero as same as
ctrlr_loss_timeout_sec and reconnect_delay_sec.

The name of the parameter follows the famous DM-multipath, its fast_io_fail_tmo.

Change-Id: Ib870cf8e2fd29300c47f1df69617776f4e67bd8c
Signed-off-by: Shuhei Matsumoto <smatsumoto@nvidia.com>
Reviewed-on: https://review.spdk.io/gerrit/c/spdk/spdk/+/10301
Community-CI: Broadcom CI <spdk-ci.pdl@broadcom.com>
Community-CI: Mellanox Build Bot
Tested-by: SPDK CI Jenkins <sys_sgci@intel.com>
Reviewed-by: Aleksey Marchuk <alexeymar@mellanox.com>
Reviewed-by: Jim Harris <james.r.harris@intel.com>
2022-01-17 14:25:15 +00:00
..
accel accel: Use vectored crc32 operations instead of chaining 2022-01-12 08:20:39 +00:00
bdev bdev/nvme: Do not use ctrlr for I/O submission if reconnect failed repeatedly 2022-01-17 14:25:15 +00:00
blob lib/blob: do not assume realloc(NULL, 0) returns a not-NULL value 2021-12-20 18:14:06 +00:00
blobfs test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
dma dma: Update memory domain context structure 2021-10-20 22:55:52 +00:00
env_dpdk test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
event scheduler/dynamic: don't adjust tsc too much for very busy cores 2021-09-28 07:29:03 +00:00
ftl spelling: test 2021-12-03 08:13:22 +00:00
idxd idxd: change NOTICELOGs to DEBUGLOGs 2021-11-17 10:58:17 +00:00
init spelling: test 2021-12-03 08:13:22 +00:00
ioat test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
iscsi spelling: test 2021-12-03 08:13:22 +00:00
json spelling: test 2021-12-03 08:13:22 +00:00
jsonrpc spelling: test 2021-12-03 08:13:22 +00:00
log test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
lvol test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
notify test: optimize unit test .gitignore files 2021-08-20 07:29:57 +00:00
nvme nvme: Add metadata support to io commands 2022-01-14 11:10:13 +00:00
nvmf nvmf/tcp: initialize zcopy phase in nvmf_tcp_req_get 2022-01-12 08:20:11 +00:00
reduce spelling: test 2021-12-03 08:13:22 +00:00
rpc ut/rpc: wrap syscalls using spdk.mock.unittest.mk 2021-09-27 20:59:37 +00:00
scsi spelling: test 2021-12-03 08:13:22 +00:00
sock spelling: test 2021-12-03 08:13:22 +00:00
thread spelling: test 2021-12-03 08:13:22 +00:00
util spelling: test 2021-12-03 08:13:22 +00:00
vhost spelling: test 2021-12-03 08:13:22 +00:00
json_mock.c ut/json_mock: Add spdk_json_write_string_fmt() 2021-02-09 11:29:53 +00:00
Makefile unittest/rpc: add rpc unittest 2021-09-06 09:55:33 +00:00