[PATCH v6 0/5] nvme-fabrics: short-circuit connect retries

From: Daniel Wagner
Date: Mon Apr 15 2024 - 08:43:41 EST


I've resorted the series so that the nvmet changes come first instead as the
last patch. These changes are necessary to get the host code tested.

The second big changes is moving the logic into the existing helper
nvmf_should_reconnect, all the transports get updated in one go.

And lastely, I've added a retry auth failure patch as requested by Sagi. I
explictly decided against to count these error from the normal retry counter
(nr_reconnects) as this would make it unnecessary complex to map the two
different max limits into one counter.

changes:
v6:
- reorder series
- extended nvmf_should_reconnect
- added auth retry logic

v5:
- nvme: do not mix kernel error code with nvme status
- nvmet: separate nvme status from dhchap status
- https://lore.kernel.org/linux-nvme/20240409093510.12321-1-dwagner@xxxxxxx/

v4:
- rebased
- added 'nvme: fixes for authentication errors' series
- https://lore.kernel.org/all/20240404154500.2101-1-dwagner@xxxxxxx/

v3:
- added my SOB tag
- fixed indention
- https://lore.kernel.org/linux-nvme/20240305080005.3638-1-dwagner@xxxxxxx/

v2:
- refresh/rebase on current head
- extended blktests (nvme/045) to cover this case
(see separate post)
- https://lore.kernel.org/linux-nvme/20240304161006.19328-1-dwagner@xxxxxxx/

v1:
- initial version
- https://lore.kernel.org/linux-nvme/20210623143250.82445-1-hare@xxxxxxx/

Daniel Wagner (1):
nvme-fabrics: handle transient auth failures

Hannes Reinecke (4):
nvmet: lock config semaphore when accessing DH-HMAC-CHAP key
nvmet: return DHCHAP status codes from nvmet_setup_auth()
nvme: authentication error are always non-retryable
nvme-fabrics: short-circuit reconnect retries

drivers/nvme/host/auth.c | 4 +-
drivers/nvme/host/core.c | 6 +--
drivers/nvme/host/fabrics.c | 58 +++++++++++++++++---------
drivers/nvme/host/fabrics.h | 2 +-
drivers/nvme/host/fc.c | 6 +--
drivers/nvme/host/nvme.h | 3 +-
drivers/nvme/host/rdma.c | 20 +++++----
drivers/nvme/host/tcp.c | 23 ++++++----
drivers/nvme/target/auth.c | 22 +++++-----
drivers/nvme/target/configfs.c | 22 +++++++---
drivers/nvme/target/fabrics-cmd-auth.c | 49 +++++++++++-----------
drivers/nvme/target/fabrics-cmd.c | 11 ++---
drivers/nvme/target/nvmet.h | 8 ++--
13 files changed, 140 insertions(+), 94 deletions(-)

--
2.44.0