linux-ide.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: "Norman Diamond" <n0diamond@yahoo.co.jp>
To: James Bottomley <James.Bottomley@HansenPartnership.com>,
	Mark Lord <liml@rtr.ca>
Cc: linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org
Subject: Re: Overagressive failing of disk reads, both LIBATA and IDE
Date: Sun, 22 Mar 2009 11:15:47 +0900	[thread overview]
Message-ID: <B102BBC50D804F2AB32D6519849EF6F6@DIAMOND8600> (raw)
In-Reply-To: 1237645333.4600.9.camel@localhost.localdomain

James Bottomley wrote:
> On Thu, 2009-03-19 at 23:32 -0400, Mark Lord wrote:
>> Norman Diamond wrote:
>>> For months I was wondering how a disk could do this:
>>> dd if=/dev/hda of=/dev/null bs=512 skip=551540 count=4  # succeeds
>>> dd if=/dev/hda of=/dev/null bs=512 skip=551544 count=4  # succeeds
>>> dd if=/dev/hda of=/dev/null bs=512 skip=551540 count=8  # fails
>
> This basically means the drive doesn't report where in the requested
> transfer the error occurred.  If we have that information, we'd return all
> sectors up to that LBA as OK and all at or beyond as -EIO, so the
> readahead wouldn't matter.

That's exactly what my submission suggested Linux should do, because that's
exactly what Linux isn't doing.  The defective sector number is 551562.
Linux makes varying decisions on how much to read ahead, and when its
readahead includes the defective sector Linux doesn't do what you and I want
it to do.

The way I discovered the actual defective sector number is that one time
last week I noticed it in dmesg output.  After noticing it, investigation
became a lot easier.  I don't remember if I noticed it for hda (old IDE) or
sda (LIBATA) but either way the drive put the defective sector number in its
error report.  When readahead was long enough to reach sector 551562 the
drive told the PC.

Regarding other threads of this discussion, I/Os are not being merged with 
other processes.  I'm running either Slax or Knoppix from a live CD, and the 
only one accessing the hard drive is me.

In cases where Slax or Knoppix includes a sufficiently recent hdparm, I 
could attempt reads of individual sectors.  551561 is OK.  551563 is OK. 
551562 has an uncorrectable media error.  I had mentioned that the drive has 
egregiously bad firmware (which doesn't excuse Linux).  That includes an 
effort to relocate the sector by using hdparm to write sector 551562, 
whereupon Hitachi drives me crazy.  The drive reports success but subsequent 
reads still fail. 

--------------------------------------
Power up the Internet with Yahoo! Toolbar.
http://pr.mail.yahoo.co.jp/toolbar/

      parent reply	other threads:[~2009-03-22  2:16 UTC|newest]

Thread overview: 12+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-03-20  2:12 Overagressive failing of disk reads, both LIBATA and IDE Norman Diamond
2009-03-20  3:32 ` Mark Lord
2009-03-20 10:00   ` Andrew Morton
2009-03-20 13:09     ` Mark Lord
2009-03-21 14:22   ` James Bottomley
2009-03-21 14:55     ` Mark Lord
2009-03-21 15:01       ` Mark Lord
2009-03-21 15:08       ` James Bottomley
2009-03-21 15:20         ` Mark Lord
2009-03-21 15:10     ` Alan Cox
2009-03-21 15:18       ` James Bottomley
2009-03-22  2:15     ` Norman Diamond [this message]

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=B102BBC50D804F2AB32D6519849EF6F6@DIAMOND8600 \
    --to=n0diamond@yahoo.co.jp \
    --cc=James.Bottomley@HansenPartnership.com \
    --cc=liml@rtr.ca \
    --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).