diff options
author | James Smart <jsmart2021@gmail.com> | 2017-06-21 17:43:21 -0700 |
---|---|---|
committer | Jens Axboe <axboe@kernel.dk> | 2017-06-28 08:14:13 -0600 |
commit | 69fa964632fe18a11a80ead0d09ef3399b08144a (patch) | |
tree | 51a5bcf047795d11fe60fb7977a2037599fc5f94 /block | |
parent | 188f7e8a3789cb2e37b68903e0a40f406091fa97 (diff) | |
download | linux-69fa964632fe18a11a80ead0d09ef3399b08144a.tar.gz linux-69fa964632fe18a11a80ead0d09ef3399b08144a.tar.bz2 linux-69fa964632fe18a11a80ead0d09ef3399b08144a.zip |
nvme_fc: fix error recovery on link down.
Currently, the fc transport invokes nvme_fc_error_recovery() on every
io in which the transport detects an error. Which means:
a) it's really noisy on large io loads that all get hit by a link down.
b) we repeatively call nvme_stop_queues() even though queues are
stopped upon the first error or as first steps of reset_work.
Correct by:
Errors are only meaningful if the controller is in the LIVE state.
Thus, enact the reset_work only if LIVE. If called repeatively, state
will have already transitioned.
There's no need to stop the queues here. Let the first steps of
reset_work do the queue stopping.
Signed-off-by: James Smart <james.smart@broadcom.com>
Signed-off-by: Sagi Grimberg <sagi@grimberg.me>
Signed-off-by: Jens Axboe <axboe@kernel.dk>
Diffstat (limited to 'block')
0 files changed, 0 insertions, 0 deletions