[U-Boot] [BUG] fs: fat: error when handling long file names

AKASHI, Takahiro takahiro.akashi at linaro.org
Wed Jun 19 00:27:00 UTC 2019


Heinrich,

On Tue, Jun 18, 2019 at 09:00:56PM +0200, Heinrich Schuchardt wrote:
> Hello Takahiro
> 
> I hope you have an idea what might be missing in the FAT file system
> support for long names.
> 
> When running the SCT I saw this error for the GetInfo functional test:
> 
> GetInfo() Basic Test - checkpoint3 -- PASS
> 
> E4F4F6A2-7538-4C79-AA3C-67184EC70E16
> 
> /home/supven01/work/sct_workspace/edk2/SctPkg/TestCase/UEFI/EFI/Protocol/SimpleFileSystem/BlackBoxTest/SimpleFileSystemBBTestFunction.c:8607:
> SystemInfo->Size - 18, BufferSize - 18, Tpl - 8
> 
> 
> EFI: Entry efi_file_open(000000007ef8c250, 000000007edeb0c0,
> "BBTestGetInfoBasicTestCheckpoint3_File_0", 8000000000000003, 0)
> Error: allocating new dir entry
> 
> EFI: Exit: efi_file_open: 14
> 
> EFI: Entry efi_file_open(000000007ef8c250, 000000007edeb0c8,
> "BBTestGetInfoBasicTestCheckpoint3_File_1", 8000000000000003, 0)
> Error: allocating new dir entry
> 
> In the EFI shell output to a file with a long name sometimes fails
> (depending on the history of the volume).
> 
> FS0:\> echo a > foo
> FS0:\> echo a > abcdefgh.ijk
> FS0:\> echo a > abcdefgh.ijkl
> ** Unable to write file /abcdefgh.ijkl **
> FS0:\>

If this happens again, can you send me the binary of the file system?
Probably the first 1MB will be enough if you don't have lots of
files/directories on it.
This will help me analyze the volume's header.

> Up to now the SCT test is the only thing that fails reproducibly.

SCT will create bunch of files and the logs can be quite big.
It's kinda stress test.

-Takahiro Akashi

> I use this repo for building:
> https://github.com/xypron/u-boot-build/tree/qemu-arm64
> 
> make sct-prepare
> make sct
> 
> Best regards
> 
> Heinrich


More information about the U-Boot mailing list