Should NVME_SC_INVALID_NS be translated to BLK_STS_IOERR instead of BLK_STS_NOTSUPP so that multipath(both native and dm) can failover on the failure?
Jirong Feng
jirong.feng at easystack.cn
Tue Jan 2 02:33:45 PST 2024
in function nvmet_subsys_nsid_exists() added in the patch, remove the
'\n' from line `if (sprintf(name, "%u\n", nsid) <= 0)`, the patch works
exactly as what I expect, fio keeps running and multipath does failover.
> Can you paste the log output (host and controller)?
>
host:
[Tue Jan 2 10:22:11 2024] print_req_error: 8 callbacks suppressed
[Tue Jan 2 10:22:11 2024] print_req_error: I/O error, dev nvme1n1,
sector 186257448 flags ca01
[Tue Jan 2 10:22:11 2024] device-mapper: multipath: Failing path 259:1.
[Tue Jan 2 10:22:11 2024] nvme nvme1: rescanning namespaces.
[Tue Jan 2 10:22:11 2024] device-mapper: multipath round-robin:
repeat_count > 1 is deprecated, using 1 instead
target:
[Tue Jan 2 10:21:57 2024] nvmet: ctrl 1 update keep-alive timer for 15 secs
[Tue Jan 2 10:22:12 2024] nvmet: jirong add: returning
NVME_ANA_PERSISTENT_LOSS
[Tue Jan 2 10:22:12 2024] nvmet_tcp: failed cmd 00000000de551a59 id 37
opcode 1, data_len: 4096
[Tue Jan 2 10:22:12 2024] nvmet: ctrl 1 reschedule traffic based
keep-alive timer
[Tue Jan 2 10:22:17 2024] nvmet: ctrl 1 update keep-alive timer for 15 secs
More information about the Linux-nvme
mailing list