Hello,
we have a problem with FAT filesystem.
We use FAT on a strata flash with long file names.(WinCe4.2 SH4)
That will work but sometimes FATFS reports BogusDirectory. (see below)
The highlevel calls CreateFile WriteFile GetLast Error does not report it up
to the caller thread.
And so the overlayed data management will be confused.
Also the thread that call ScanDisk on such a Volume hangs.
So what went wrong on my system?
What' to do to prevent such a error?
Is such an error detectable?
Thanks in advance.
Johannes
4294927076 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c:
+CreateFile:\FLASH2\000\Test.dat
4294927104 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c: FATFS!FindNext: bogus
directory!
4294927105 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c:
FATFS!FAT_GetFileAttributesW(\000\Test.dat) returned 0xffffffff (13)
4294927106 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c: FATFS!FindNext: bogus
directory!
4294927111 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: 0=GetLastError()
4294927125 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: -CreateFile: OK
4294927140 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c:
+WriteFile:\FLASH2\000\Test.dat
4294927199 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: 0=GetLastError()
4294927250 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: WriteFile: ok 260 Bytes
Written
663273 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c:
+CreateFile:\FLASH2\000\Test.dat
663318 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c: FATFS!FindNext: bogus
directory!
663319 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c:
FATFS!FAT_GetFileAttributesW(\000\Test.dat) returned 0xffffffff (13)
663320 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c: FATFS!FindNext: bogus
directory!
663325 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: 0=GetLastError()
663369 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: -CreateFile: OK
663414 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c:
+WriteFile:\FLASH2\000\Test.dat
663465 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: 0=GetLastError()
663515 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: WriteFile: ok 260 Bytes
Written
669033 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c:
+CreateFile:\FLASH2\000\Test123456789.dat
669078 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c: FATFS!FindNext: bogus
directory!
669079 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c:
FATFS!FAT_GetFileAttributesW(\000\Test123456789.dat) returned 0xffffffff
(13)
669080 PID:8dfe351a TID:ade7cc3e 0x8de7ca0c: FATFS!FindNext: bogus
directory!
669085 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: 0=GetLastError()
669129 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: -CreateFile: OK
669173 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c:
+WriteFile:\FLASH2\000\Test123456789.dat
669225 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: 0=GetLastError()
669274 PID:ade7cc62 TID:ade7cc3e 0x8de7ca0c: WriteFile: ok 260 Bytes
Written