Rockbox mail archive
Subject: Re: slow/delaying usb connection to archos/rockbox
From: Vladimir Pantelic (pan_at_nt.tu-darmstadt.de)
Björn Stenberg wrote:
> The reason is, as I speculated in that old mail, that the FAT is very big
> and it needs to be read before the vfat driver can write to the disk.
> Adding to the slowness is the fact that the vfat driver reads the FAT
> sector-by-sector instead of in larger and faster multisector chunks.
> There is, I'm afraid, not much you can do about this without writing code.
> Adding multisector fat reading to the vfat driver would speed things
up, but is non-trivial.
Yes, I also looked into this and found the same answer. The FAT is read
using the "bread" function and this function can only read one block.
Of course there is stuff to read bigger chunks of data at a time, but
this is in the file system layer and when the FAT is read the file
system is not mounted yet.
Linux could be much quicker though if it would use the information in
the FS_Info sector of FAT32 where the number of free clusters and the
last cluster allocated are stored. So Linux has to read tha whole FAT to
know how much free space there is on the drive.
The kernel sources say that Linux does ignore this information, I have
no idea why ?
Page was last modified "Jan 10 2012" The Rockbox Crew