#1399 closed defect (fixed)

IDE disk block reads have corrupt last 4 bytes

Reported by: Chris Johns Owned by: Chris Johns
Priority: normal Milestone: 4.10
Component: fs Version: 4.10
Severity: major Keywords:
Cc: joel.sherrill@…, thomas.doerfler@… Blocked By:


The last 4 bytes of some block reads are corrupt, or more specifically are old data read at an earlier time.

The set up is a PC with a 4.3G IDE hard disk on the primary controller. RTEMS with the 64bit offset changes and dosfsck is required. Also some changes to the dosfs format command to add verbose output, and to not wipe the partition information on the disk.

Run RTEMS and format the partition then run dosfsck. You will see a signature failure on the MBR. Reboot the PC and run RTEMS and again run the dosfsck command. The MBR signature check will pass but the FAT check will fail with errors like:

Cluster 7995389 out of range (173342720 > 8037193) (aa550000). Setting to EOF.

This is due to the last 4 bytes of the block data being correct.

To confirm the bug in RTEMS reboot the PC and run knoppix and again run the Linux port of dosfsck. It will pass with no errors showing the data on the disk is correct.

Change History (2)

comment:1 Changed on Apr 12, 2009 at 8:26:45 AM by Chris Johns

Status: newassigned, thomas.doerfler@embedded-brains.de

comment:2 Changed on Apr 14, 2009 at 6:59:09 AM by Chris Johns

Resolution: fixed
Status: assignedclosed

The BIOS setting for the controller was set to UltraIDE and when set to PIO-0 the errors went away.

This is a lesson for for those using IDE is make sure the hardware is correctly configured.

Note: See TracTickets for help on using tickets.