Uses common code for determining if an error should be retried on
alternate path.

Acked-by: Mike Snitzer <snit...@redhat.com>
Reviewed-by: Hannes Reinecke <h...@suse.com>
Signed-off-by: Keith Busch <keith.bu...@intel.com>
---
 drivers/nvme/host/multipath.c | 14 +-------------
 1 file changed, 1 insertion(+), 13 deletions(-)

diff --git a/drivers/nvme/host/multipath.c b/drivers/nvme/host/multipath.c
index ae9abb600c0f..3b211d9e58b8 100644
--- a/drivers/nvme/host/multipath.c
+++ b/drivers/nvme/host/multipath.c
@@ -37,19 +37,7 @@ bool nvme_req_needs_failover(struct request *req, 
blk_status_t error)
 {
        if (!(req->cmd_flags & REQ_NVME_MPATH))
                return false;
-
-       switch (error) {
-       case BLK_STS_NOTSUPP:
-       case BLK_STS_NOSPC:
-       case BLK_STS_TARGET:
-       case BLK_STS_NEXUS:
-       case BLK_STS_MEDIUM:
-       case BLK_STS_PROTECTION:
-               return false;
-       }
-
-       /* Everything else could be a path failure, so should be retried */
-       return true;
+       return blk_path_error(error);
 }
 
 void nvme_kick_requeue_lists(struct nvme_ctrl *ctrl)
-- 
2.13.6

--
dm-devel mailing list
dm-devel@redhat.com
https://www.redhat.com/mailman/listinfo/dm-devel

Reply via email to