nvme-multipath: do not reset on unknown status
authorJohn Meneghini <johnm@netapp.com>
Thu, 20 Feb 2020 01:05:38 +0000 (10:05 +0900)
committerKeith Busch <kbusch@kernel.org>
Wed, 25 Mar 2020 19:51:55 +0000 (04:51 +0900)
commit764e9332098c0e60251386a507fe46ac91276120
tree7533901cff86e776f11c8e7f0c2592abf796533e
parentc363f249e7e6576587d8982d9087406fe98beb99
nvme-multipath: do not reset on unknown status

The nvme multipath error handling defaults to controller reset if the
error is unknown. There are, however, no existing nvme status codes that
indicate a reset should be used, and resetting causes unnecessary
disruption to the rest of IO.

Change nvme's error handling to first check if failover should happen.
If not, let the normal error handling take over rather than reset the
controller.

Based-on-a-patch-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: John Meneghini <johnm@netapp.com>
Signed-off-by: Keith Busch <kbusch@kernel.org>
drivers/nvme/host/core.c
drivers/nvme/host/multipath.c
drivers/nvme/host/nvme.h