linux/drivers/nvme/host
James Smart 041018c634 nvme_fc: io timeout should defer abort to ctrl reset
The current nvme_fc code, when an io times out, will abort the io
on the fc link, then call the error recovery routine to reset the
controller. It is during the reset of the controller that the
transport will wait for all ios to be aborted before sending a
Disconnect LS to the target.

However, the reset routine only waits for the io which it generates
the abort for to complete. Any io that was aborted just prior to the
reset isn't in it's list to wait for. Thus the Disconnect is getting
sent before the aborts have completed.

Correct by removing the abort in the timeout handler. The reset will
generate the abort. At that point the timeout handler can be simplified
to request the reset (via the error handler) and restart the timeout
timer.

Also fixes a small typo in a comment in the reset handler.

Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Keith Busch <keith.busch@intel.com>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
2018-03-26 08:53:43 -06:00
..
core.c nvme: centralize ctrl removal prints 2018-03-26 08:53:43 -06:00
fabrics.c nvme-fabrics: don't check for non-NULL module in nvmf_register_transport 2018-02-22 01:45:30 -07:00
fabrics.h nvme: rename NVME_CTRL_RECONNECTING state to NVME_CTRL_CONNECTING 2018-02-08 18:35:53 +02:00
fault_inject.c nvme: Add fault injection feature 2018-03-26 08:53:43 -06:00
fc.c nvme_fc: io timeout should defer abort to ctrl reset 2018-03-26 08:53:43 -06:00
Kconfig nvme: implement multipath access to nvme subsystems 2017-11-10 19:53:25 -07:00
lightnvm.c lightnvm: make geometry structures 2.0 ready 2018-01-05 08:50:12 -07:00
Makefile nvme: Add fault injection feature 2018-03-26 08:53:43 -06:00
multipath.c nvme: change namespaces_mutext to namespaces_rwsem 2018-03-26 08:53:43 -06:00
nvme.h nvme: change namespaces_mutext to namespaces_rwsem 2018-03-26 08:53:43 -06:00
pci.c nvme-pci: disable APST for Samsung NVMe SSD 960 EVO + ASUS PRIME Z370-A 2018-03-26 08:53:43 -06:00
rdma.c nvme: centralize ctrl removal prints 2018-03-26 08:53:43 -06:00
trace.c nvme: add tracepoint for nvme_setup_cmd 2018-01-26 12:34:40 +01:00
trace.h nvme: add tracepoint for nvme_complete_rq 2018-01-26 12:34:40 +01:00