linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Jeff Garzik <jeff@garzik.org>
To: Mark Lord <liml@rtr.ca>
Cc: Sergei Shtylyov <sshtylyov@ru.mvista.com>,
	Vitaliyi <imgrey@gmail.com>, Tejun Heo <htejun@gmail.com>,
	IDE/ATA development list <linux-ide@vger.kernel.org>
Subject: Re: [PATCH] libata: add support for READ/WRITE LONG
Date: Wed, 04 Apr 2007 02:20:41 -0400	[thread overview]
Message-ID: <461343B9.6090304@garzik.org> (raw)
In-Reply-To: <45FAA822.7050208@rtr.ca>

Mark Lord wrote:
> Sergei Shtylyov wrote:
>>> The fussy bit is that these commands require a non-standard
>>> sector size, usually 520 bytes instead of 512.
>>
>>    Which requires from the drivers to be able to turn off IDE prefetch 
>> (and maybe posting too).  I don't see that in this patch (or are you 
>> expecting them to just "snoop' the commands and do it automagically?).
> 
> Most controllers seem to be behave well enough
> and just not muck up.  And if it fails on any "too clever" controllers,
> then no big deal -- we just switch to a controller that works instead.
> 
> This is not an essential command for normal operation.
> What it is for, is injecting errors so that we can experience
> firsthand the (excellent or crappy) error handling in the kernel
> and in applications.  And then work out and test better strategies.
> 
> So 100% working everywhere, for an obsolete opcode, isn't really
> essential to me.  But it should work most places, and it does.
> 
>>    Again, ata_data_xfer() doesn't seem capable of performing ECC 
>> read/writes
>> -- the ECC bytes must be transferred in 8-bit mode, AFAIR. 
>> ata_data_xfer()
>> can oinly do that for optionally trailing odd byte.
> 
> I have no idea what that was all about.  Care to explain again?
> RWLONG transfer the ECC info 8-bits at a time, using 16-bit words
> to do so, no different from normal.  ???
> 
> Here it is again with the whitespace not so messed up.
> 
> Thanks.
> 
> The READ/WRITE LONG commands are theoretically obsolete,
> but the majority of drives in existance still implement them.
> 
> The WRITE_LONG and WRITE_LONG_ONCE commands are of particular
> interest for fault injection testing -- eg. creating "media errors"
> at specific locations on a disk.
> 
> The fussy bit is that these commands require a non-standard
> sector size, usually 520 bytes instead of 512.
> 
> This patch adds support to libata for READ/WRITE LONG commands
> issued via SG_IO/ATA_16.
> 
> This patch was generated against a 2.6.21-rc3-git7 base:
> 
> drivers/ata/libata-core.c |   20 ++++++++++----------
> drivers/ata/libata-scsi.c |   12 ++++++++++++
> include/linux/ata.h       |    6 ++++++
> include/linux/libata.h    |    2 ++
> 4 files changed, 30 insertions(+), 10 deletions(-)
> 
> Signed-off-by:  Mark Lord <mlord@pobox.com>

applied



  parent reply	other threads:[~2007-04-04  6:20 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <3aac340703102322p362998b9labedc13503702d2b@mail.gmail.com>
2007-03-12 14:47 ` libata extension Mark Lord
     [not found]   ` <3aac340703121003l43685599t8dbffe6247879a91@mail.gmail.com>
2007-03-12 19:08     ` [PATCH] libata: add support for READ/WRITE LONG Mark Lord
2007-03-12 19:10       ` Mark Lord
2007-03-12 22:13       ` Alan Cox
2007-03-12 22:23         ` Mark Lord
2007-03-13  0:08           ` Alan Cox
2007-03-12 23:40             ` Mark Lord
2007-03-13  6:40       ` Tejun Heo
2007-03-13 10:46         ` Ric Wheeler
2007-03-16 12:28       ` Mark Lord
2007-03-16 14:02         ` Sergei Shtylyov
2007-03-16 14:22           ` Mark Lord
2007-03-16 14:33             ` Sergei Shtylyov
2007-03-16 14:42               ` Mark Lord
2007-03-16 14:43                 ` Mark Lord
2007-03-16 14:58                   ` Sergei Shtylyov
2007-03-16 15:07                     ` Mark Lord
2007-03-16 15:23                   ` Sergei Shtylyov
2007-03-16 15:32                     ` Mark Lord
2007-03-16 17:08                     ` Alan Cox
2007-03-16 18:54                       ` Jeff Garzik
2007-03-16 20:16                         ` Mark Lord
2007-03-16 20:38                           ` Jeff Garzik
2007-03-16 21:05                           ` Sergei Shtylyov
2007-03-16 21:09                           ` Bartlomiej Zolnierkiewicz
2007-03-16 21:21                             ` Mark Lord
2007-03-16 21:40                               ` Bartlomiej Zolnierkiewicz
2007-04-04  6:20             ` Jeff Garzik [this message]
2007-03-16 15:15           ` Alan Cox
2007-03-16 14:16             ` Sergei Shtylyov
2007-03-16 15:01         ` Alan Cox
2007-03-16 14:15           ` Mark Lord
2007-03-16 14:23             ` Sergei Shtylyov
2007-03-16 14:33               ` Mark Lord
2007-03-16 15:23             ` Alan Cox
     [not found]     ` <3aac340703121007q35c7acf7t648e0ed7608be04d@mail.gmail.com>
     [not found]       ` <200703122106.39669.bzolnier@gmail.com>
2007-03-13  2:36         ` Fwd: libata extension Vitaliyi
2007-03-13 11:23           ` Jeff Garzik

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=461343B9.6090304@garzik.org \
    --to=jeff@garzik.org \
    --cc=htejun@gmail.com \
    --cc=imgrey@gmail.com \
    --cc=liml@rtr.ca \
    --cc=linux-ide@vger.kernel.org \
    --cc=sshtylyov@ru.mvista.com \
    /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;
as well as URLs for NNTP newsgroup(s).