On 7/19/2018 7:54 AM, Johannes Thumshirn wrote:
On Thu, Jul 19, 2018 at 04:50:05PM +0200, Christoph Hellwig wrote:
The upper layer is only going to retry after tearing down the transport
connection. And a tear down of the connection MUST clear all pending
commands on the way. If it doesn't we are in deep, deep trouble.
A NVMe abort has no chance of clearing things at the transport layer.
OK so all I can do in my case (if I want soft error recovery) is send
out a transport abort in the timeout handler and then rearm the timer
and requeue the command.
Which leaves us to the FC patch only, modified of cause.
Which I'm going to say no on. I originally did the abort before the
reset and it brought out some confusion in the reset code. Thus the
existing flow which just resets the controller which has to be done
after the abort anyway.
-- james