Re: [RFC] libata new EH document

Luben Tuikov
2005-09-01T23:27:38Z

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))
> ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

James,

1. I'd suggest you take a look at the QErr and TST bits in the
Control Mode page.

2. I'd also suggest looking at the ACA Task Attribute.

3. I'd also suggest looking at the NACA bit of the SCSI CDB.

Luben

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