Red Hat Bugzilla – Bug 11952
33.8 (65535/16/63) IDE large drive bug
Last modified: 2008-05-01 11:37:55 EDT
Attempting to install a 40 GB Maxtor drive.
Symptom: fdisk drive as one partition; correctly says 4982/255/63 for
C/H/S. Make an ext2 filesystem which appears to succeed. Mount the
filesystem -- get errors. fsck the filesystem and see that block 517 is
in two free lists at sectors 2 and 4120706.
Note that the delta between these is very close to 65535/16/63, indicating
a 33.8GB bug.
This is a bug in the kernel drivers/block/ide-disk.c where a short
overflows when attempting to compute the cyc value based on the bios
values of 16/63 (and not the artifical values of 255/63). This leads to
attempts to write sector >= 66059280 (65535*16*63) to actually cause a
write to the sector modulo this value leading to serious data corruption.
THIS IS FIXED IN 2.2.14 (RedHat 6.2) and presumably thereafter, although
the version number of ide-disk.c didn't change (1.08)
The bug is present in 2.2.12 (RedHat 6.1). Anyone attempting to use large
ide drives should upgrade to RH 6.2.