[PATCH v6] nvme-tcp: Do not reset transport on data digest errors
Sagi Grimberg
sagi at grimberg.me
Mon Aug 30 08:38:28 PDT 2021
> @@ -485,6 +486,7 @@ static void nvme_tcp_error_recovery(struct nvme_ctrl *ctrl)
> static int nvme_tcp_process_nvme_cqe(struct nvme_tcp_queue *queue,
> struct nvme_completion *cqe)
> {
> + struct nvme_tcp_request *req;
> struct request *rq;
>
> rq = nvme_find_rq(nvme_tcp_tagset(queue), cqe->command_id);
> @@ -496,7 +498,11 @@ static int nvme_tcp_process_nvme_cqe(struct nvme_tcp_queue *queue,
> return -EINVAL;
> }
>
> - if (!nvme_try_complete_req(rq, cqe->status, cqe->result))
> + req = blk_mq_rq_to_pdu(rq);
> + if (req->status == cpu_to_le16(NVME_SC_SUCCESS))
endian conversion a zero enum? looks weird..
But,
Reviewed-by: Sagi Grimberg <sagi at grimberg.me>
More information about the Linux-nvme
mailing list