Page 1 of 1

[suggestion] FullFAT, a fully featured FAT 12/16/32 library

Posted: Mon Oct 26, 2009 1:24 pm
by forart.eu
Dunno if can help, BTW ReactOS guyz apreciated (and adopted) it:
It features optional LFN (Long File-name support)
  • Fast and Efficient with Low Memory Footprint
  • Scalable from Embedded Systems to Desktop OS’s
  • Thread Safe
  • Multiple File Open
  • LFN Support (optional).
  • Fully Featured
  • Optional Caching
  • Safe Caching behaviour
  • Customisable Caching behaviour
  • Multiple & Single Block Reading
  • Platform independent, no assumptions about Endianess
  • Easily integrated into current OS’s and Frameworks
I have begun writing this library because I am dissatisfied with the many Free FAT implementations, the ones that implement LFN’s are bloated and slow, like the FreeDOS driver. Others are lacking in features, buggy, or no longer actively developed.

The aim is make a really high-quality FAT driver that is flexible for many different needs, and do it better than any commercially available option.
http://code.google.com/p/fullfat/ 8)

Re: [suggestion] FullFAT, a fully featured FAT 12/16/32 library

Posted: Sat Oct 31, 2009 3:26 pm
by forart.eu
From ReactOS' Newsletter 66:
FAT

A short while ago the FullFAT library was mentioned on the ReactOS forum and then brought to the attention of the developers by IRC regulars. Written by James Walmsley, it is a platform independent library for accessing FAT12/16/32 partitions and it was suggested that a new IFS driver could be written using it. The current FAT driver was written against an older, less NT compliant kernel and was never extensively tested on Windows to begin with. It suffers from multiple stability issues and thus an alternative was sought. James was approached and supported the idea but had little experience with NT IFS drivers so Aleksey Bragin decided to attempt it instead. It took approximately two days to get a prototype capable of mounting a volume and reading files off.

While the FULLFAT library provides the necessary file access functions, all bookkeeping must be done by the driver. One such case involves information requests made about files, such as their length. Another function would be the locking of files. Aleksey is currently implementing them and is actually testing this on Windows 2003 instead of ReactOS. Hopefully when the driver is completed it can serve as an open source reference for future efforts in writing NT IFS drivers alongside with providing ReactOS with a stable FAT filesystem.