]> git.baikalelectronics.ru Git - kernel.git/commit
nvme-fc: on lldd/transport io error, terminate association
authorJames Smart <jsmart2021@gmail.com>
Fri, 2 Jun 2017 05:54:21 +0000 (22:54 -0700)
committerChristoph Hellwig <hch@lst.de>
Wed, 7 Jun 2017 09:08:52 +0000 (11:08 +0200)
commit5c3abd3d07be4f0af26fc6f4c536542dc4c5dc89
treee689eaa2640cb8fd247e15422b7008cb7bbb3271
parent7746953ca8a803e9c85090fd83656dbe190cb3f4
nvme-fc: on lldd/transport io error, terminate association

Per FC-NVME, when lldd or transport detects an i/o error, the
connection must be terminated, which in turn requires the association
to be termianted.  Currently the transport simply creates a nvme
completion status of transport error and returns the io. The FC-NVME
spec makes the mandate as initiator and host, depending on the error,
can get out of sync on outstanding io counts (sqhd/sqtail).

Implement the association teardown on lldd or transport detected
errors.

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