From: Luben Tuikov <luben_tuikov@adaptec.com>
To: dougg@torque.net
Cc: Patrick Mansfield <patmans@us.ibm.com>,
Alan Stern <stern@rowland.harvard.edu>,
James Bottomley <James.Bottomley@SteelEye.com>,
SCSI development list <linux-scsi@vger.kernel.org>
Subject: Re: sg driver and the error handler
Date: Wed, 11 May 2005 12:35:39 -0400 [thread overview]
Message-ID: <4282345B.4010102@adaptec.com> (raw)
In-Reply-To: <4281F396.2030607@torque.net>
>>The error handler is mainly a timeout handler, so it has to run to cancel
>>the timed out command, we can't complete the timed out command back to the
>>upper level until we know the HBA is no longer using it.
>>
>>
>>
>>>Consider a case that just came up. A USB CD drive causes a phase error
>>>when it receives a certain READ BUFFER command (buggy firmware on the
>>>drive, never mind that now). You would expect the user program to receive
>>
>>>from sg a host_status value indicating DID_ERROR or something of the sort.
>>
>>>Instead the error handler takes charge and sends out one or two TEST UNIT
>>>READY commands. The status information finally received by the user
>>>program is the status from the TEST UNIT READY, not from the failed READ
>>>BUFFER! How's a program supposed to cope with that sort of obfuscation?
>>
>>
>>:-(
I think Alan even wants to see the QUEUEFULL status not being
retried.
That is, other than reclaiming the command from the LLDD, the
eh code should not retry or do anything with the command, just
pass it back to the user process who sent it via sg.
Maybe the application client has other tricks up its sleeve
on QUEUEFULL coming from the device.
I think scsi generic as a passthrough, where minimal logic
from SCSI Core is applied and most is left to the application
client.
Luben
next prev parent reply other threads:[~2005-05-11 16:35 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-05-10 18:51 sg driver and the error handler Alan Stern
2005-05-10 22:58 ` Patrick Mansfield
2005-05-11 11:59 ` Douglas Gilbert
2005-05-11 16:35 ` Luben Tuikov [this message]
2005-05-11 17:45 ` Patrick Mansfield
2005-05-11 17:55 ` Luben Tuikov
2005-05-11 18:02 ` Patrick Mansfield
2005-05-11 19:43 ` Alan Stern
2005-05-11 16:40 ` Luben Tuikov
2005-05-11 17:14 ` Patrick Mansfield
2005-05-16 17:42 ` [PATCH] saved and restore result for timed out commands Patrick Mansfield
2005-05-16 19:42 ` Alan Stern
2005-06-01 18:45 ` Alan Stern
2005-06-01 21:00 ` James Bottomley
2005-06-01 21:26 ` Alan Stern
2005-06-01 21:57 ` Patrick Mansfield
2005-06-03 15:21 ` James Bottomley
2005-06-03 15:35 ` Alan Stern
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4282345B.4010102@adaptec.com \
--to=luben_tuikov@adaptec.com \
--cc=James.Bottomley@SteelEye.com \
--cc=dougg@torque.net \
--cc=linux-scsi@vger.kernel.org \
--cc=patmans@us.ibm.com \
--cc=stern@rowland.harvard.edu \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox