[PATCH 1/4] nvme: authentication error are always non-retryable
Christoph Hellwig
hch at lst.de
Fri Mar 1 05:12:08 PST 2024
> - if ((nvme_req(req)->status & 0x7ff) == NVME_SC_AUTH_REQUIRED)
> - return AUTHENTICATE;
> -
> if (blk_noretry_request(req) ||
> (nvme_req(req)->status & NVME_SC_DNR) ||
> nvme_req(req)->retries >= nvme_max_retries)
> return COMPLETE;
>
> + if ((nvme_req(req)->status & 0x7ff) == NVME_SC_AUTH_REQUIRED)
> + return AUTHENTICATE;
This part looks fine (although I'd word the commit message
differently for it).
> @@ -467,7 +467,7 @@ int nvmf_connect_admin_queue(struct nvme_ctrl *ctrl)
> if (result & NVME_CONNECT_AUTHREQ_ASCR) {
> dev_warn(ctrl->device,
> "qid 0: secure concatenation is not supported\n");
> - ret = NVME_SC_AUTH_REQUIRED;
> + ret = NVME_SC_AUTH_REQUIRED | NVME_SC_DNR;
> goto out_free_data;
> }
> /* Authentication required */
> @@ -475,14 +475,16 @@ int nvmf_connect_admin_queue(struct nvme_ctrl *ctrl)
> if (ret) {
> dev_warn(ctrl->device,
> "qid 0: authentication setup failed\n");
> - ret = NVME_SC_AUTH_REQUIRED;
> + ret = NVME_SC_AUTH_REQUIRED | NVME_SC_DNR;
.. but the others should never use nvme status codes as they never
go out onto the wire.
More information about the Linux-nvme
mailing list