nvme-fc: address target disconnect race conditions in fcp io submit
authorJames Smart <jsmart2021@gmail.com>
Tue, 18 Jul 2017 21:29:34 +0000 (14:29 -0700)
committerChristoph Hellwig <hch@lst.de>
Tue, 25 Jul 2017 15:58:47 +0000 (17:58 +0200)
commit8b25f351929b5a5216ccb2c8882965134019679d
tree8583abf057bf94ccafe3b5877023bb09ec85c178
parent2fd4167fadd1360ab015e4f0e88e51843e49556c
nvme-fc: address target disconnect race conditions in fcp io submit

There are cases where threads are in the process of submitting new
io when the LLDD calls in to remove the remote port. In some cases,
the next io actually goes to the LLDD, who knows the remoteport isn't
present and rejects it. To properly recovery/restart these i/o's we
don't want to hard fail them, we want to treat them as temporary
resource errors in which a delayed retry will work.

Add a couple more checks on remoteport connectivity and commonize the
busy response handling when it's seen.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
drivers/nvme/host/fc.c