I have played a bit around with hdparm.
(http://gentoo-wiki.com/HOWTO_Use_hdparm_to_improve_IDE_device_performance).
I have been using -u1 for a week or so. Now I got this in /var/log/messages:

Apr 22 17:10:05 deepthought ide: failed opcode was: unknown
Apr 22 17:10:05 deepthought end_request: I/O error, dev hda, sector XXXXX
Apr 22 17:10:05 deepthought Buffer I/O error on device hda2, logical
block YYYYY
Apr 22 17:10:05 deepthought hda: dma_intr: status=0x51 { DriveReady
SeekComplete Error }
Apr 22 17:10:05 deepthought hda: dma_intr: error=0x40 {
UncorrectableError }, LBAsect=9381254, high=0, low=9381254, s

(Repeated with XXXX ranging from 9381222 to 9381252 (increment 2) and
YYYY from 15696 to 15712)

ector=9381254
Apr 22 17:10:05 deepthought ide: failed opcode was: unknown
Apr 22 17:10:05 deepthought end_request: I/O error, dev hda, sector 9381254
Apr 22 17:10:05 deepthought Buffer I/O error on device hda2, logical
block 15712
Apr 22 17:10:05 deepthought ReiserFS: hda2: found reiserfs format "3.6"
with standard journal
Apr 22 17:10:05 deepthought ReiserFS: hda2: using ordered data mode
Apr 22 17:10:05 deepthought ReiserFS: hda2: journal params: device hda2,
size 8192, journal first block 18, max trans
 len 1024, max batch 900, max commit age 30, max trans age 30



During boot there is a message that says that there are bad blocks on my
drive and I should try to write to those blocks or use something with
option -B. (There is no way of copying the message) It also says that it
is probably best to buy a new drive. After that I can start the computer
normally. I looked at man hdparm and found this:

-u     Get/set  interrupt-unmask  flag  for  the drive.  A setting of 1
              permits the driver to unmask other interrupts during 
processing
              of  a disk interrupt, which greatly improves Linux's
responsive-
              ness and eliminates "serial port overrun" errors.  Use
this fea-
              ture  with  caution:  some  drive/controller combinations
do not
              tolerate the increased I/O latencies possible when this 
feature
              is enabled, resulting in massive filesystem corruption. 
In par-
              ticular, CMD-640B and RZ1000 (E)IDE interfaces can be
unreliable
              (due  to  a  hardware flaw) when this option is used with
kernel
              versions earlier than 2.0.13.  Disabling the IDE 
prefetch  fea-
              ture  of these interfaces (usually a BIOS/CMOS setting)
provides
              a safe fix for the problem for use with earlier kernels.

The part  "Use this feature  with  caution:  some  drive/controller
combinations do not tolerate the increased I/O latencies possible when
this  feature is enabled, resulting in massive filesystem corruption."
is most interesting. I immediatly removed it from hdparm.

Is the problem fixable? How can I try to write to the those blocks and
which command do they mean?

Can I copy my whole Gentoo-installation onto another HD? I am using a
laptop but I have an external case for laptop-drives.
 
Thanks,
Robert Himmelmann

How do I type "for i in *.dvi do xdvi $i done" in a GUI?
          -- Discussion in comp.os.linux.misc on the intuitiveness of
interfaces

"Murphy's Law, that brash proletarian restatement of G�del's Theorem ..."
          -- Thomas Pynchon, "Gravity's Rainbow"
  • "massive filesystem corruption": Help Please! Robert Himmelmann

Reply via email to