Let me introduce a new FileSystem implementation
for our beloved JNode: JFat.
JFat, that stands for Jnode Fat, is an attempt
to implement the Microsoft FAT FileSystem following
Microsoft specifications as they are reported on
the document available at the URL:
JFat is currently an "incomplete" implementation that
only supports FAT32 and doesn't make any attempt
to support multithread: it only aims to be compatible
with Microsoft FAT, at least at the documented level,
and able to read and write FAT FileSystems that can
be shared and tested from other Operating Systems.
Without being too much technical, JFat is able to
mount a filesystem that is contained inside a 0x0b
type partition, i.e. is marked as "W95 FAT32" from
Linux fdisk, and that contains at least 65525 clusters.
To make life easy any Windows XP FileSystem larger than
few Gigabytes should be automatically mounted as a JFAT
FileSystem from jnode.
JFat, currently, doesn't handle FAT12 (up to 4085 clusters)
or FAT16 (up to 65525 clusters) Fat filesystems: they
are mounted and handled from the FAT Jnode FileSystem.
As for any first release (and as my first attempt
to implement a complete filesystem) JFat will need
some time to be completely debugged, so, the usual
advice to be cautios on using it against "real data".
The JFat source code, around 6.000 lines of Java code
implementing the "org.jnode.fs.jfat" package, can be
found inside the "fs/src/fs/org/jnode/fs/jfat' directory
of the JNode CVS source tree.
I had a great fun implementing this code for JNode
and I hope it can be useful to the JNode community.
I have to thank (nicknames are from the JNode IRC chat)
FabienD, Hagar, peda and lsantha for their support
and the interesting chat sessions we had on the last
A special thank is for lsantha: without his patience
and support JFat haven't had any possibility to become
G. Vitillaro (aka alea on the IRC chat)