[PATCH 2/3] nvme-core: delete the dependency on blk status
Chao Leng
lengchao at huawei.com
Wed Aug 12 04:18:44 EDT 2020
nvme should not depend on blk status, just need check nvme status.
Just need do translating nvme status to blk status for returning error.
Signed-off-by: Chao Leng <lengchao at huawei.com>
---
drivers/nvme/host/core.c | 6 ++++--
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/nvme/host/core.c b/drivers/nvme/host/core.c
index 52d19a4d3bc8..246988091c05 100644
--- a/drivers/nvme/host/core.c
+++ b/drivers/nvme/host/core.c
@@ -278,7 +278,7 @@ static void nvme_retry_req(struct request *req)
void nvme_complete_rq(struct request *req)
{
- blk_status_t status = nvme_error_status(nvme_req(req)->status);
+ blk_status_t status;
trace_nvme_complete_rq(req);
@@ -287,7 +287,8 @@ void nvme_complete_rq(struct request *req)
if (nvme_req(req)->ctrl->kas)
nvme_req(req)->ctrl->comp_seen = true;
- if (unlikely(status != BLK_STS_OK && nvme_req_needs_retry(req))) {
+ if (unlikely(nvme_req(req)->status != NVME_SC_SUCCESS &&
+ nvme_req_needs_retry(req))) {
if (nvme_req_path_error(req)) {
if (req->cmd_flags & REQ_NVME_MPATH) {
nvme_failover_req(req);
@@ -299,6 +300,7 @@ void nvme_complete_rq(struct request *req)
}
}
+ status = nvme_error_status(nvme_req(req)->status);
nvme_trace_bio_complete(req, status);
blk_mq_end_request(req, status);
}
--
2.16.4
More information about the Linux-nvme
mailing list