Ticket #415 (Fixed)Sat Oct 31 09:24:50 UTC 2015
FileCore allows dirs bigger than the 4MB limit to be created
Reported by: | Sprow (202) | Severity: | Normal |
Part: | RISC OS: Module | Release: | |
Milestone: | Status | Fixed |
Details by Sprow (202):
Spec 1309,208/FS defines the largest “big dir” as 4MB, this is BigDirMaxSize in the FileCore sources.
However, if you run the attached test program (which just repeatedly copies randomly named files in a random order) it fails and leaves behind an unrepairable broken dir.
The test program uses 1 byte files to ensure it hits the problem before running out of disc space.
There are two observations:
1. Dir entry insertion gets very slow, presumably because there are too many files to fit in ScratchSpace when SortDir tries to sort the directory (why not use insertion sort, since the dir is already in alphabetical order?)
2. That the 4MB limit doesn’t appear to be being guarded against, or if it is the check is failing. The BigDirCode does try to spot dir full, but for some reason isn’t triggering.
Originally reported by Chris Hall.
Changelog:
Modified by Sprow (202) Sun, April 09 2017 - 22:18:06 GMT
- Status changed from Open to Fixed
Fixed in FileCore-3_72.