[PATCH] SCSI Flexible timout intfrastructure
The object of this infrastructure is to give HBAs early warning that
error handling is about to happen and also provide them with the
opportunity to do something about it.
It introduces the extra template callback:
eh_timed_out()
which scsi_times_out() will call if it is populated to notify the LLD
that an outstanding command took a timeout.
There are three possible returns:
EH_HANDLED: I've fixed the problem, please complete the command for me
(as soon as the timer fires, scsi_done will do nothing, so the timer
itself will call a special version of scsi_done that doesn't check the
timer).
EH_NOT_HANDLED: Invoke error recovery as normal
EH_RESET_TIMER: The command will complete, reset the timer to its
original value and start it ticking again.
Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
Based on work by Christoph Hellwig and Luben Tuikov
Showing
Please register or sign in to comment