
Michael Trimarchi wrote:
In my spare time a try to change the do_fat_read to support the chaining.
Thank you. Please let me know of anything I can do to help.
Does this mean you are now able to duplicate the problem?
The "Microsoft Extensible Firmware Initiative FAT32 File System Specification" white paper you quoted seems like a good reference document for FAT32. Is there anything better?
BTW, in working with partitions <= 32MB, I have used FAT12, but fs/fat/fat.c clearly doesn't support FAT12 properly. FAT12 can be useful for NOR flash devices which are often small enough for all four primary partitions to be <= 32MB. Is anyone else (trying to) use FAT12 via U-Boot? My work-around for this problem has simply been force partitions <= 32MB to contain FAT16 whenever U-Boot needs to read file from them.
Sincerely,
Ken Fuchs
-----Original Message----- From: michael [mailto:trimarchi@gandalf.sssup.it] Sent: Friday, April 25, 2008 10:45 To: Fuchs, Ken Cc: afilipi@applieddata.net; u-boot-users@lists.sourceforge.net Subject: Re: [U-Boot-Users] FW: USB SUPPORT & get_vfatname
Hi, Ken.Fuchs@bench.com wrote:
Michael Trimarchi wrote:
confirm that the problem is in fat.c file and I will try to fix.
It has been confirmed that fatls does _not_ list all files on FAT32 filesystems.
There are _no_ reports of fatls failing to list all files on FAT16 filesystems. (There may be an unrelated bug caused by all 512 directory entries of FAT16 being used.)
What additional information is needed to confirm that the problem is in fat.c?
The problem is related to how fat.c manage the root directory. As reported by microsoft in "FAT32, the root directory can be of variable size and is a cluster chain, just like any other directory is. The first cluster of the root directory on a FAT32 volume is stored in BPB_RootClus. Unlike other directories, the root directory itself on any FAT type does not have any date or time stamps, does not have a file name (other than the implied file name ""), and does not contain "." and ".." files as the first two directory entries in the directory. The only other special aspect of the root directory is that it is the only directory on the FAT volume for which it is valid to have a file that has only the ATTR_VOLUME_ID attribute bit set (see below)."
What is your response to the debug log you requested? It was sent to the ml almost 18 hours ago and is also quoted below.
In my spare time a try to change the do_fat_read to support the chaining.
Regards Michael