On Fri, 2018-05-04 at 20:37 -0700, James Smart wrote:
> A race condition is being seen. I/O is being issued to scsi targets
> simultaneous to a short connectivity loss. The rport block/unblock is
> occurring, but the unblock is allowing pending I/O commands to intermix
> with the commands being used to scan the scsi bus. Thus the target
> device is getting a read or write prior to transitioning to an ready
> state, thus the device errors the io. The io error propagatest all the
> way back to the application.
> 
> Resolve by augmenting the io submission with a check to see whether
> transport is scanning the remote port or not. If not, then the io is
> failed such that it will be retried. If so, then normal processing resumes.

This seems like a hack to me.  What exactly is the problem, is the
target rejecting the READ and/or WRITE commands for some reason?
Can you explain what you mean by "..transitioning to an ready state"?

Perhaps this would be better handled by some kind of interlock in
the transport layer with the scan_work?

-Ewan


Reply via email to