From: Jeff Garzik <jeff@garzik.org>
To: Tejun Heo <htejun@gmail.com>
Cc: jgarzik@pobox.com, linux-ide@vger.kernel.org
Subject: Re: [PATCH 4/4] libata: improve media error handling
Date: Fri, 02 Mar 2007 18:37:11 -0500 [thread overview]
Message-ID: <45E8B527.7090903@garzik.org> (raw)
In-Reply-To: <11635120303772-git-send-email-htejun@gmail.com>
Tejun Heo wrote:
> The ATA spec says "The amount of data transferred is indeterminate"
> when READ/WRITE commands fail with error status. TF regs contain the
> address of the first sector which failed, but that's it. libata
> reports the reported sector to sd which assumes data upto the first
> failed sector was transferred successfully. This can result in data
> corruption.
>
> This patch implements highlevel command-aware recovery which currently
> has only one recovery action - ata_eh_do_partial(). If the device
> reports the first failed block, it tries to transfer upto that block.
>
> SCSI sense generation is updated such that the first failed block is
> reported to SCSI layer iff partial IO occurred.
>
> Signed-off-by: Tejun Heo <htejun@gmail.com>
> ---
> drivers/ata/libata-eh.c | 143 +++++++++++++++++++++++++++++++++++++++++++++
> drivers/ata/libata-scsi.c | 36 +++++++-----
> include/linux/libata.h | 2 +
> 3 files changed, 166 insertions(+), 15 deletions(-)
(finally reviewing a patch from a 3 months ago)
ACK, please resend at your leisure
In general, I have worries about how solid partial completion really is.
I am mainly thinking of SCSI and VFS not libata, here. Your patch
looks sane enough, so let's see how things go...
Jeff
next prev parent reply other threads:[~2007-03-02 23:37 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2006-11-14 13:47 [PATCHSET] libata: improve media error handling Tejun Heo
2006-11-14 13:47 ` [PATCH 1/4] libata: implement ata_exec_internal_sg() Tejun Heo
2006-11-28 9:02 ` Jeff Garzik
2006-11-14 13:47 ` [PATCH 4/4] libata: improve media error handling Tejun Heo
2007-03-02 23:37 ` Jeff Garzik [this message]
2006-11-14 13:47 ` [PATCH 3/4] libata: prepare ata_sg_clean() for invocation from EH Tejun Heo
2006-11-28 9:02 ` Jeff Garzik
2006-11-14 13:47 ` [PATCH 2/4] libata: separate out rw ATA taskfile building into ata_build_tf() Tejun Heo
2006-11-14 16:13 ` Mark Lord
2006-11-14 16:51 ` Tejun Heo
2006-11-14 21:04 ` Mark Lord
2006-11-28 9:17 ` 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=45E8B527.7090903@garzik.org \
--to=jeff@garzik.org \
--cc=htejun@gmail.com \
--cc=jgarzik@pobox.com \
--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.