Attached file is a gzip-compressed FAT-16

Project:JNode Core
Component:Code
Category:bug report
Priority:critical
Assigned:Unassigned
Status:won't fix
Description

Attached file is a gzip-compressed FAT-16 disk image created with mkdosfs under Linux.

The following unit test fails, confirming that the "dir1" directory does not contain "test.txt", but this file definitely exists if you mount the filesystem under Linux or Win32 (with trickery. Smiling )

public void testTrivial() throws Exception
{
File file = getDataFile("diskimages/test.fat16");
Device device = new FileDevice(file, "r");
FileSystem fs = new FatFileSystem(device, true);
FSDirectory root = fs.getRootEntry().getDirectory();
FSDirectory dir1 = root.getEntry("dir1").getDirectory();
assertNotNull("No test.txt inside dir1", dir1.getEntry("test.txt"));
fs.close();
}

AttachmentSize
issues_399.78 KB

New FAT implementation.

There is a new FAT implementation which will be completed in several weeks. We expect to address these issues there.

Levente

jfat and FAT-16

The new implementation (jfat) was completed some time ago, but does it even support FAT-16?

Not quite completed

JFat is not complete yet, since it still needs several features like proper formatting support (this is nearly done for fat32), fat16 and fat12 support. Furthermore the JFAt performance should be improved and it should be prepared for concurrent access.
I would say the current JFAT is more a prototype implementation than someting really usable in real world scenairios.
So any contribution to improve this situation is most welcome.

Regards, Levente

#1

Status:active» won't fix

New jfat implementation is in svn trunk.
This bug used the old fat code.
The code is considered deprecated, so it will not be fixed.

#1

My own experience so far is that the jfat driver is much more stable than fat for FAT-32. I fall back to fat for supporting FAT-16/FAT-12, but quite often we run into disk images which don't work properly (and there is no drive to get them fixed, unlike for more modern filesystems.)