
On Thu, Sep 05, 2019 at 08:43:43AM +0200, Heinrich Schuchardt wrote:
Currently we do no have a maintainer for the FAT file system. Takahiro has done a great job fixing some of the most prominent deficiencies. But still the driver is not in good shape:
I once again ran upon errors in FAT when executing the UEFI SCT.
Here is some of the output of dosfsck -w -r -l -a -v -t The full output has hundreds of errors recorded.
While I don't deny shifting to other code base for FAT, I'm willing to debug the current code if you send me binary data of corrupted file system. The first 1MB or so, which will contains directory meta data, would be good enough as I said before.
I think that most errors stem from wrong long-file-name handling.
-Takahiro Akashi
Orphaned long file name part "Sct.log" Auto-deleting. Orphaned long file name part "Sct.log" Auto-deleting. /Log/RuntimeServicesTest/VariableServicesTest0/QueryVariableInfo_Conf_0_0_61758774-91A3-47DD-BDBD-B81094A5F62D.log Duplicate directory entry. First Size 4712 bytes, date 01:00:00 Dec 31 1979 Second Size 5086 bytes, date 01:00:00 Dec 31 1979 Auto-renaming second. Renamed to FSCK0000.008
BareBox is using a (somewhat outdated) copy of this library with a little bit of wrapper code:
FatFs - Generic FAT Filesystem Module http://elm-chan.org/fsw/ff/00index_e.html http://elm-chan.org/fsw/ff/arc/ff13c.zip
The same library is also used for Arduinos: https://github.com/stm32duino/FatFs
Shouldn't we try just the same?
Best regards
Heinrich