Re: [PATCH]: Flexible timeout infrastructure

James Bottomley
2004-06-16T15:37:57Z

On Wed, 2004-06-16 at 10:27, Mike Anderson wrote:
> Does this mean scsi_times_out will complete the command by calling a
> SCSI mid layer internal form of the scsi_done function (less the
> scsi_delete_timer call) or that the LLDD will call scsi_done and we will
> need to modify scsi_done to accept these no timer running cases.

Yes. We'll just abstract all of scsi_done() bar the timer check into
__scsi_done, which will be private, and called in this instance.

> >
> > c. I need more time, reset the timer and notify me again when it fails.
> >
> > For (c), I propose that we use the same timeout period, but increment
> > the retry count (and do this up to allowed retries plus one [so that
> > no-retry commands have one crack at being recovered by the LLD]) when
> > retries are exhausted, normal error handling would proceed on timer
> > expiry leading to certain failure of the command since it would be
> > ineligible to be retried.
>
> The comment on the no-retry commands appears counter to the intent of
> FASTFAIL. On a multi-ported device if there really is a port / controller
> issue we have increased the failover time 2x the timeout value which
> IIRC was one case that FASTFAIL wished to address.

Well ... perhaps the solution's to shorten the timers then for this
case?

James