On Sun, Sep 08, 2019 at 01:49:30AM +0200, Heinrich Schuchardt wrote: > On 9/5/19 10:37 AM, AKASHI Takahiro wrote: > >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 > > The SCT test that really shows the trouble is for > EFI_FILE_PROTOCOL.GetInfo(). On FAT16 it hits the 512 files per > directory limit.
Please note that, on FAT16, the root directory can have a fixed number of blocks and that there is definitely an upper limit of maximum number of entries allowed under it. > Both on FAT16 and FAT32 it crashes when saving the log. Did you see any message, or the file system got corrupted silently? -Takahiro Akashi > Observed on qemu_arm64_defconfig with edk2-test HEAD. > > Best regards > > Heinrich > > > > > > >>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 > > > _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de https://lists.denx.de/listinfo/u-boot