public inbox for linux-scsi@vger.kernel.org
 help / color / mirror / Atom feed
* eh_abort_handler and calling scsi_done
@ 2009-03-24 11:41 Christof Schmitt
  2009-03-24 13:29 ` Brian King
  0 siblings, 1 reply; 6+ messages in thread
From: Christof Schmitt @ 2009-03-24 11:41 UTC (permalink / raw)
  To: linux-scsi

I am investigating what is required from a LLD when SCSI commands time
out and the SCSI EH calls the eh_abort_handler. The documentation in
scsi_eh.txt states:

    <<scsi_eh_abort_cmds>>

	This action is taken for each timed out command.
	hostt->eh_abort_handler() is invoked for each scmd.  The
	handler returns SUCCESS if it has succeeded to make LLDD and
	all related hardware forget about the scmd.

>From this and from looking at the code, i would conclude:

1) If the LLD returns FAILED from the eh_abort_handler, then the
   command is still allowed to be active in the LLD and the LLD can
   call scsi_done any time later (probably latest when the
   eh_host_reset_handler flushes everything that is still pending).

2) While the abort is pending, but before returning SUCCESS from
   eh_abort_handler, the LLD can still call scsi_done for the SCSI
   command to be aborted (the SCSI command might be returned with a
   status "aborted" if the abort succeeds, or "good" if it was
   completed just before the abort reached the storage system).

Is this correct? Are there any more limitations a SCSI LLD has to be
aware of?

--
Christof Schmitt

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2009-03-25 13:52 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2009-03-24 11:41 eh_abort_handler and calling scsi_done Christof Schmitt
2009-03-24 13:29 ` Brian King
2009-03-24 14:34   ` Christof Schmitt
2009-03-24 17:46   ` Mike Anderson
2009-03-25  8:52     ` Christof Schmitt
2009-03-25 13:52       ` Brian King

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox