From: Jeff Garzik <jgarzik@pobox.com>
To: Timothy Thelin <Timothy.Thelin@wdc.com>
Cc: Mark Lord <liml@rtr.ca>,
James Courtier-Dutton <James@superbug.demon.co.uk>,
linux-ide@vger.kernel.org
Subject: Re: libata for SATA HDs.
Date: Wed, 10 Aug 2005 23:21:15 -0400 [thread overview]
Message-ID: <42FAC42B.5080705@pobox.com> (raw)
In-Reply-To: <CA45571DE57E1C45BF3552118BA92C9D060AA3@WDSCEXBECL03.sc.wdc.com>
Timothy Thelin wrote:
>>>>>>Yes, but only if you manually apply the "libata-passthru" patch.
>>>>>
>>>>>So, why hasn't that patch got into the kernel?
>>>>
>>>>Because there are several reports of it causing problems, when used on a
>>>>loaded system.
>
>
>>Please post more information about these "problems".
>
>
>>I wonder if it might be another occurance of the libata eh lockups.
>>Those are NOT unique to ATAPI -- the lockups can happen anytime
>>the libata eh code is run, like on a busy RAID, or "loaded system"
>>suffering failed "passthru" commands.
>>
>>Perhaps kill a couple of birds with one stone, if we're lucky.
>
>
> I figured I should give my $.02 =)
>
> I've noticed some bugs with the passthru implementation and have been
> working on some fixes using a custom slax live cd. I'm in the process of
> fixing and creating multiple patches, which I was going to post to this
> list.
>
> In particular this is what I've found so far:
> 1) The sense buffer returned when the "check condition" bit is active is
> incorrect
> - The status and error registers values returned are the command and
> features registers sent in (they never get updated from the device after the
> command is done).
> - The additional length field is 14 but it should be 12
> 2) The offline bit is ignored
> 3) The length fields are ignored
> 4) Not all the cdb protocols are implemented
>
>
> Item 1: This is trivial to fix (note that the bug also exists when
> generating the fixed length sense buffer)
> Item 2: This is important for lower level vendor commands, and its inclusion
> helps mean the difference between staying in linux or rebooting to dos.
> Companies / Users are becomming less inclined to do the latter =)
> Item 3: I don't know how important 3 is to fix considering you will have the
> scsi layer's length info in addition to the cdbs length info. Maybe just a
> check to make sure they match, and if they don't, abort the cdb.
Feel free to send patches to fix these :)
> Item 4: Considering the passthru spec lists all the protocols, they should
> get implemented. Otherwise apps wanting to use the passthru mechanism are
> going to be blind that protocols are not implemented. Alternatively, there
> could be a way to (1) identify the backend is libata so it can be
> special-cased (maybe a "get version" ioctl), and (2) have a means to probe
> libata to find out what is and is not implemented at runtime (maybe extra
> information on the "get version" ioctl).
I would prefer simply to implement all the protocols. For protocols
which transport reset-style mechanisms such as SRST, this may take some
work over and above simply issuing the command to the device. You may
need to re-issue IDENTIFY DEVICE, quiesce the bus, etc.
Jeff
next prev parent reply other threads:[~2005-08-11 3:21 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-10 18:42 libata for SATA HDs Timothy Thelin
2005-08-11 3:21 ` Jeff Garzik [this message]
-- strict thread matches above, loose matches on Subject: below --
2005-08-12 1:04 Douglas Gilbert
[not found] <42EEA9D5.5080304@superbug.demon.co.uk>
2005-08-09 13:40 ` Mark Lord
2005-08-09 17:01 ` Erik Slagter
2005-08-09 17:55 ` James Courtier-Dutton
2005-08-09 18:04 ` Jeff Garzik
2005-08-09 22:27 ` James Courtier-Dutton
2005-08-10 2:28 ` Mark Lord
2005-08-09 18:18 ` Erik Slagter
2005-08-09 20:04 ` Mark Lord
2005-08-10 7:41 ` Erik Slagter
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=42FAC42B.5080705@pobox.com \
--to=jgarzik@pobox.com \
--cc=James@superbug.demon.co.uk \
--cc=Timothy.Thelin@wdc.com \
--cc=liml@rtr.ca \
--cc=linux-ide@vger.kernel.org \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.