summaryrefslogtreecommitdiffstats
path: root/drivers/nvme/host/nvme.h
diff options
context:
space:
mode:
authorChao Leng <lengchao@huawei.com>2021-02-04 08:55:11 +0100
committerChristoph Hellwig <hch@lst.de>2021-02-10 16:38:03 +0100
commitdda3248e7fc306e0ce3612ae96bdd9a36e2ab04f (patch)
treee9a5238e7c3553652340e0b99f0a2dfae48efefd /drivers/nvme/host/nvme.h
parent83fba8c8114748a18e20391565cfdfdf8466075c (diff)
downloadlinux-stable-dda3248e7fc306e0ce3612ae96bdd9a36e2ab04f.tar.gz
linux-stable-dda3248e7fc306e0ce3612ae96bdd9a36e2ab04f.tar.bz2
linux-stable-dda3248e7fc306e0ce3612ae96bdd9a36e2ab04f.zip
nvme: introduce a nvme_host_path_error helper
When using nvme native multipathing, if a path related error occurs during ->queue_rq, the request needs to be completed with NVME_SC_HOST_PATH_ERROR so that the request can be failed over. Introduce a helper to complete the command from ->queue_rq in a wait that invokes nvme_complete_rq. Signed-off-by: Chao Leng <lengchao@huawei.com> [hch: renamed, added a return value to clean up the callers a bit] Signed-off-by: Christoph Hellwig <hch@lst.de>
Diffstat (limited to 'drivers/nvme/host/nvme.h')
-rw-r--r--drivers/nvme/host/nvme.h1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/nvme/host/nvme.h b/drivers/nvme/host/nvme.h
index a72f07181091..5819f0381041 100644
--- a/drivers/nvme/host/nvme.h
+++ b/drivers/nvme/host/nvme.h
@@ -575,6 +575,7 @@ static inline bool nvme_is_aen_req(u16 qid, __u16 command_id)
}
void nvme_complete_rq(struct request *req);
+blk_status_t nvme_host_path_error(struct request *req);
bool nvme_cancel_request(struct request *req, void *data, bool reserved);
void nvme_cancel_tagset(struct nvme_ctrl *ctrl);
void nvme_cancel_admin_tagset(struct nvme_ctrl *ctrl);