Home Home > GIT Browse
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohannes Thumshirn <jthumshirn@suse.de>2018-01-12 15:46:58 +0100
committerJohannes Thumshirn <jthumshirn@suse.de>2018-01-12 15:47:02 +0100
commitfda3f322ac80d99cf3b307d165f054d72fcf8d28 (patch)
tree537925810e745cf4706e2522b845137f8dd9eef2
parent5c4b33e73d958c235f24873d3db129a0955cf76c (diff)
nvme/multipath: Use blk_path_error (FATE#323952, FATE#322506).
-rw-r--r--patches.drivers/nvme-multipath-Use-blk_path_error.patch44
-rw-r--r--series.conf1
2 files changed, 45 insertions, 0 deletions
diff --git a/patches.drivers/nvme-multipath-Use-blk_path_error.patch b/patches.drivers/nvme-multipath-Use-blk_path_error.patch
new file mode 100644
index 0000000000..1fc3514369
--- /dev/null
+++ b/patches.drivers/nvme-multipath-Use-blk_path_error.patch
@@ -0,0 +1,44 @@
+From: Keith Busch <keith.busch@intel.com>
+Date: Tue, 9 Jan 2018 12:04:17 -0700
+Subject: nvme/multipath: Use blk_path_error
+Patch-mainline: Queued in subsystem maintainer repository
+Git-repo: git://git.kernel.dk/linux-block
+Git-commit: e1f425e770d21a34f51d7284e55f3fa984f8e275
+References: FATE#323952, FATE#322506
+
+Uses common code for determining if an error should be retried on
+alternate path.
+
+Acked-by: Mike Snitzer <snitzer@redhat.com>
+Reviewed-by: Hannes Reinecke <hare@suse.com>
+Signed-off-by: Keith Busch <keith.busch@intel.com>
+Reviewed-by: Johannes Thumshirn <jthumshirn@suse.de>
+Reviewed-by: Christoph Hellwig <hch@lst.de>
+Signed-off-by: Jens Axboe <axboe@kernel.dk>
+---
+ drivers/nvme/host/multipath.c | 14 +-------------
+ 1 file changed, 1 insertion(+), 13 deletions(-)
+
+--- a/drivers/nvme/host/multipath.c
++++ b/drivers/nvme/host/multipath.c
+@@ -37,19 +37,7 @@ bool nvme_req_needs_failover(struct requ
+ {
+ 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)
diff --git a/series.conf b/series.conf
index 79232da894..87c05f1838 100644
--- a/series.conf
+++ b/series.conf
@@ -6504,6 +6504,7 @@
patches.drivers/nvme-Add-more-command-status-translation.patch
patches.drivers/nvme-multipath-Consult-blk_status_t-for-failover.patch
patches.drivers/block-Provide-blk_status_t-decoding-for-path-errors.patch
+ patches.drivers/nvme-multipath-Use-blk_path_error.patch
# out-of-tree patches
patches.drivers/s390-sles15-00-04-04-kmsg-add-VNIC-Characteristics-msg-documentation.patch