]> git.baikalelectronics.ru Git - kernel.git/commit
nvme_fc: add aen abort to teardown
authorJames Smart <jsmart2021@gmail.com>
Sun, 23 Apr 2017 15:30:07 +0000 (08:30 -0700)
committerChristoph Hellwig <hch@lst.de>
Mon, 24 Apr 2017 07:16:03 +0000 (09:16 +0200)
commit54016d0b3674c4f9f9ad3c17ea1ae0b5118232a0
treef29e7b552d36b5c98af285bc683d376529ce9541
parente205d2383c59a782281fdb8e70e736289c558808
nvme_fc: add aen abort to teardown

Add abort support for aens. Commonized the op abort to apply to aen or
real ios (caused some reorg/routine movement). Abort path sets termination
flag in prep for next patch that will be watching i/o abort completion
before proceeding with controller teardown.

Now that we're aborting aens, the "exit" code that simply cleared out
their context no longer applies.

Also clarified how we detect an AEN vs a normal io - by a flag, not
by whether a rq exists or the a rqno is out of range.

Note: saw some interesting cases where if the queues are stopped and
we're waiting for the aborts, the core layer can call the complete_rq
callback for the io. So the io completion synchronizes link side completion
with possible blk layer completion under error.

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