[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

badblocks, e2fsck, and disk error

Hello.  I started getting a disk error on my Maxtor 17.2 GB disk tonight.
It's been running fine for over 2 months, and my current uptime is 63 days
with no apparent disk problems.

Here's how I have my disk partitioned:

Filesystem         1024-blocks  Used Available Capacity Mounted on
/dev/hda2            15885614 2988782  12069945     20%   /
/dev/hda1              14607    6293     7560     45%   /boot
/dev/hda3             208349  147517    50072     75%

I was actually playing an MP3 when it (the mp3) stopped, at which point
this appeared in my syslog:

Dec  1 01:50:01 kernel: hda: read_intr: status=0x59 { DriveReady
SeekComplete DataRequest Error } 
Dec  1 01:50:01 kernel: hda: read_intr: error=0x40 {
UncorrectableError }, LBAsect=32357292, sector=32327053 
Dec  1 01:50:01 kernel: end_request: I/O error, dev 03:02 (hda),
sector 32327053

Those lines appeared 3 times, as though it was re-trying (and continuing
to fail to read) the file.

Anyway, I went to single-user mode, unmounted all the disks, and
re-mounted the root partition as read-only.

Then I ran e2fsck -c /dev/hda2, which -- while scanning for bad blocks --
produced an error corresponding to what you see in the syslog excerpt

It re-scanned the disk with a "Dupe/bad block pass" and found blocks that
appeared to be duplicates.  It said the inode # for the mp3 was shared
with "inode #1, the bad blocks inode."  I'm not sure what this means; does
that indicate that the bad blocks list is stored in inode #1?

At any rate, it asked me if I wanted to clone the blocks.  I wasn't sure
what to answer, and the default was Yes, so I chose yes.  After a few
seconds, I got the same error as before, and I was asked if I wanted to
ignore the error.  The default was Yes, but this time I chose No.  It then
did a few more things (which I can't remember, and couldn't copy/paste
since gpm wasn't running) and wrote a few more lines of output.  When all
this was done, I re-mounted all my disks.

I then tried to play that mp3 again, and unfortunately, I'm right back
where I started.  :-\

At which point did I make the wrong choice?  Is inode #1 where the bad
blocks list is stored?  Any theories on how an inode can become shared
between two different files?  And does a duplicate block qualify as a
"bad" block, or is this a non-defect? 

Appreciate the help!  This is my first disk failure under *nix so I'm a
little uncertain of how to approach it.  :)

Reply to: