linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Alan Cox <alan@lxorguk.ukuu.org.uk>
To: Erik Mouw <erik@harddisk-recovery.com>
Cc: Rogier Wolff <R.E.Wolff@harddisk-recovery.nl>,
	Linux Kernel Mailing List <linux-kernel@vger.kernel.org>,
	linux-ide@vger.kernel.org
Subject: Re: Driver retries disk errors.
Date: Tue, 31 Aug 2004 17:12:50 +0100	[thread overview]
Message-ID: <1093968767.597.14.camel@localhost.localdomain> (raw)
In-Reply-To: <20040831170016.GF17261@harddisk-recovery.com>

On Maw, 2004-08-31 at 18:00, Erik Mouw wrote:
> > For non hard disk cases many devices do want and need retry.
> 
> And many others do not. CompactFlash readers are usually implemented as
> a USB storage device, which on its turn is implemented as a SCSI
> "disk". So far I haven't seen a CompactFlash which could be "fixed" by
> retries.

It does no harm trying. It does real harm not being conservative and
losing peoples data. You recover people's data after its lost, the
IDE layer's job is to make sure it doesn't get lost in the first place.

> (1) Imagine an application doing a linear read on a file with an 8
> block read ahead and the last block being bad. The kernel will try to
> read that bad block 16 times, but because the IDE driver also has 8
> retries, the kernel will try to read that bad block *64* times. It
> usually takes an IDE drive about 2 seconds to figure out a block is
> bad, so the application gets stuck for 2 minutes in that single bad
> block.

Right now I know of no way to tell which is readahead for a failed
command or of telling the block layer to forget them. Fix this at the
block layer and IDE can abort the readahead sequence happily enough
because IDE is too dumb to have issued further commands to the drive at
this point.

Alan


  reply	other threads:[~2004-08-31 17:14 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2004-08-30 16:39 Driver retries disk errors Rogier Wolff
2004-08-30 17:46 ` Theodore Ts'o
2004-08-30 18:26   ` James Courtier-Dutton
2004-08-30 22:25     ` Rogier Wolff
2004-08-31 11:38     ` Alan Cox
2004-09-02 16:23       ` Eric Mudama
2004-08-30 22:17   ` Rogier Wolff
2004-08-31 11:45 ` Alan Cox
2004-08-31 13:45   ` Andre Hedrick
2004-08-31 13:54   ` Rogier Wolff
2004-08-31 14:12     ` Alan Cox
2004-08-31 15:56       ` Erik Mouw
2004-08-31 15:13         ` Alan Cox
2004-08-31 17:00           ` Erik Mouw
2004-08-31 16:12             ` Alan Cox [this message]
2004-08-31 22:55           ` Christer Weinigel

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=1093968767.597.14.camel@localhost.localdomain \
    --to=alan@lxorguk.ukuu.org.uk \
    --cc=R.E.Wolff@harddisk-recovery.nl \
    --cc=erik@harddisk-recovery.com \
    --cc=linux-ide@vger.kernel.org \
    --cc=linux-kernel@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 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).