• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category Drivers
  • Assigned To
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by pamaury - 2010-03-17
Last edited by pamaury - 2010-03-22

FS#11118 - Reduce the number of cached sector in the fat driver

This patch reduces the number of cached sector in the fat_dir structure because it's useless.
It requires a nearly complete rewrite of fat_getnext.
At the same time, I made it check more things about LFN entries:
* last long entry attribute in the first entry
* ordinal are all present and decreasing
I could also implement checkuming but I I fear that not all fat drivers implement it.

Please review and test it !

   fat.diff (13.8 KiB)
Closed by  pamaury
2010-03-22 10:48
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407


topik commented on 2010-03-19 10:48

Amaury, I have tested it on my Nano2G and Sansa Fuze and I have no noticeable differences.

Rockbox starts fine, playing music and a random selection of plugins work.

New patch, mostly cosmetics.

But why is it useless? A cache ought to be useful for HD-based targets, even if it is useless for flash-based targets…

torne commented on 2010-03-20 15:50

Only the most recently read sector in the cache is ever reused (the structure of FAT directories guarantees it). Keeping the other two sectors around has *zero* benefit, on any target.

New patch. I fixed a potential buffer overflow and several other things :)
I tested it to the limit and it works correctly.

   fat.diff (14.7 KiB)


Available keyboard shortcuts


Task Details

Task Editing