]> www.infradead.org Git - users/sagi/libnvme.git/commit
fabrics: handle /dev/nvme-fabrics read failure
authorCaleb Sander <csander@purestorage.com>
Fri, 12 May 2023 00:40:26 +0000 (18:40 -0600)
committerDaniel Wagner <wagi@monom.org>
Mon, 15 May 2023 14:43:46 +0000 (16:43 +0200)
commit0c9443bc23e3e4c41ec8767e5f7ce120f907044b
tree7e0636dc945bbc31b7e9c1e1de264b175a277e9d
parentf7ba8bf447d44ac6b58fa0e41e58967754881897
fabrics: handle /dev/nvme-fabrics read failure

The ability to read from /dev/nvme-fabrics to find supported options
is a newer Linux kernel feature added in f18ee3d988157 (5.17-rc1).
On earlier kernels, this read returns EINVAL,
preventing the controller from being added:
$ nvme discover --transport tcp --traddr 192.168.1.62
Failed to read from /dev/nvme-fabrics: Invalid argument
failed to add controller, error Invalid argument

So don't treat EINVAL as a fatal error, and instead fall back
to a default set of supported options.
With this change, controllers can be created successfully:
$ nvme discover --transport tcp --traddr 192.168.1.62

Discovery Log Number of Records 4, Generation counter 125
...

Fixes: d123131f2e ("fabrics: Do not pass unsupported options to kernel")
Signed-off-by: Caleb Sander <csander@purestorage.com>
src/nvme/fabrics.c