Comment 0 for bug 147807

Revision history for this message
Phil Richards (news-derived-software) wrote : udev vol_id does not recognise FAT* partitions with sector size 8192

Binary package hint: udev

Since upgrading from Edgy Eft to Feisty Fawn I have been unable to automount my external USB 250Gb SEAGATE harddrive.

I've been subscribed to a number of bugs on related problems, but not seen a solution. This weekend I tried Gutsy, and still no joy so I decided to dig deeper.
(I've posted some of the following to 102097, but I thought it might be clearer as a separate report.)

The problem boils down to vol_id not recognising the partition as VFAT. I've looked at the source code, and I think the problem is in
udev-113/extras/volume_id/lib/fat.c at around line 328:
 /* sector size check */
 sector_size = le16_to_cpu(vs->sector_size);
 if (sector_size != 0x200 && sector_size != 0x400 &&
     sector_size != 0x800 && sector_size != 0x1000)
  return -1;

Dumping out the header for the partition, I calculate that the sector_size on the partition is 0x2000 - which means that the partition is rejected on the FAT* checks.

Any chance of a fix? Pretty please?

pihl