mirror of
https://mirrors.bfsu.edu.cn/git/linux.git
synced 2024-11-17 17:24:17 +08:00
nvme-rdma: handle nvme_rdma_post_send failures better
nvme_rdma_post_send failing is a path related error and should bounce to another path when using nvme-multipath. Call nvme_host_path_error when nvme_rdma_post_send returns -EIO to ensure nvme_complete_rq gets invoked to fail over to another path if there is one. Signed-off-by: Chao Leng <lengchao@huawei.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
This commit is contained in:
parent
ea5e5f42cd
commit
62eca39722
@ -2098,7 +2098,9 @@ static blk_status_t nvme_rdma_queue_rq(struct blk_mq_hw_ctx *hctx,
|
|||||||
err_unmap:
|
err_unmap:
|
||||||
nvme_rdma_unmap_data(queue, rq);
|
nvme_rdma_unmap_data(queue, rq);
|
||||||
err:
|
err:
|
||||||
if (err == -ENOMEM || err == -EAGAIN)
|
if (err == -EIO)
|
||||||
|
ret = nvme_host_path_error(rq);
|
||||||
|
else if (err == -ENOMEM || err == -EAGAIN)
|
||||||
ret = BLK_STS_RESOURCE;
|
ret = BLK_STS_RESOURCE;
|
||||||
else
|
else
|
||||||
ret = BLK_STS_IOERR;
|
ret = BLK_STS_IOERR;
|
||||||
|
Loading…
Reference in New Issue
Block a user