On Tue, 20 Feb 2007, Jürgen Keil wrote:

A user on the solarisx86 mailing list complained about a FAT32 filesystem
that is unmountable on Solaris:

   http://tech.groups.yahoo.com/group/solarisx86/message/41316
   http://tech.groups.yahoo.com/group/solarisx86/message/41337


This is reproducible with FAT32 filesystems created by a Seagate
utility named "DiskWizard" (now obsolete?) .


Problem appears to be that Seagate's utility constructs a FAT32 filesystem
without a fsinfo sector. That is, in pc_vfsops.c, function pc_getfat() ...

http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/fs/pcfs/pc_vfsops.c#1771

  1772          /* get fsinfo */
  1773          struct fat32_boot_fsinfo fsinfo_disk;
  1774
  1775          fsp->f32fsinfo_sector = ltohs(f32b->f_infosector);


... we have "fsp->f32fsinfo_sector == 0", which confuses the rest of the code.

Don't bother with modifying pc_getfat(). That function (or rather, 90% of what it does) is being purged.


Does anyone know if the fsinfo sector is an optional FAT32 feature?  It seems
that Microsoft is able to use these DiskWizard FAT32 filesystems without
complaining; and their FAT32 filesystem checking tools don't report that this
is a bad / damaged FAT32 filesystem.

According to specs, its presence is optional. If the magic numbers don't match, one shouldn't try use it. That's why it's thrice-magiced (LeadSig, StrucSig, TrailSig). M$ tries hard there not to interpret "random data" as FSI.


Should such a DiskWizard FAT32 filesystem be mountable with Solaris x86?

As should many be that currently are unmountable.

I have some code that would make this mountable/accessible.

FrankH.

(there are too many mailing lists / forums to read - I can't keep up with them all. Thanks for forwarding me the yahoo group messages !)
_______________________________________________
ufs-discuss mailing list
[email protected]

Reply via email to