[U-Boot-Users] FW: USB SUPPORT & get_vfatname
Adrian Filipi
adrian.filipi at eurotech.com
Fri Apr 25 19:16:09 CEST 2008
It looks like fat.c is not handling the case where the
sectors/cluster is 1, and the rood directory spans multiple clusters.
In my case I was getting garbage directoy info after the invalid
fat error. The attached patch stops the code from rolling past the end of
cluster.
It looks like a loop to walk the allocation chain is neccessary.
I think get_contents() does all the right work, but it of course starts
with a directory entry, which we don't have yet for /. A little
refactoring might do the trick.
Adrian
--
Linux Software Engineer | EuroTech, Inc. | www.eurotech-inc.com
On Fri, 25 Apr 2008, michael wrote:
> Hi,
> Ken.Fuchs at 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
>
>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: fat.c.diff
Type: text/x-diff
Size: 1090 bytes
Desc:
Url : http://lists.denx.de/pipermail/u-boot/attachments/20080425/b9877796/attachment.diff
More information about the U-Boot
mailing list