Re: [RFC] libata new EH document

Luben Tuikov
2005-09-01T23:03:34Z

On 09/01/05 19:01, James Bottomley wrote:
> On Thu, 2005-09-01 at 18:36 -0400, Luben Tuikov wrote:
>
>>So are you claiming that
>> "the error handler clears contingent allegiance conditions" ?
>>
>>Please point me to the lines in the source code where it does this
>>and how it does it.
>
>
> That's this bit:
>
> static void scsi_unjam_host(struct Scsi_Host *shost)
> {
> unsigned long flags;
> LIST_HEAD(eh_work_q);
> LIST_HEAD(eh_done_q);
>
> spin_lock_irqsave(shost->host_lock, flags);
> list_splice_init(&shost->eh_cmd_q, &eh_work_q);
> spin_unlock_irqrestore(shost->host_lock, flags);
>
> SCSI_LOG_ERROR_RECOVERY(1, scsi_eh_prt_fail_stats(shost, &eh_work_q));
>
> if (!scsi_eh_get_sense(&eh_work_q, &eh_done_q))
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Yeah, that ought to do it. ;-)

Luben

> if (!scsi_eh_abort_cmds(&eh_work_q, &eh_done_q))
> scsi_eh_ready_devs(shost, &eh_work_q, &eh_done_q);
>
> James
>
>
>