I've spent my spare time this week learning about #Amiga filesystem formats, to find out why I had all those problems with file corruption in my effort last weekend to get an image file from Linux into Deluxe Paint on an emulator. (Previous thread: https://hachyderm.io/@simontatham/114021236557200593)
The _root_ cause is: there are two flavours of the Amiga filesystem, and I was using the less well tested one.
The two flavours are usually called OFS ("Original File System") and FFS ("Fast File System", and let's just assume we've done the jokes already). FFS took over from OFS early in the Amiga's life. So only Amigas from the very dawn of time use OFS, and third-party implementations of the filesystem (like the one in the Linux kernel) have _mostly_ been tested against FFS.
But my emulated Amiga _is_ from the very dawn of time (on purpose, because that most closely matches the real Amiga I had as a child). So it _only_ speaks OFS, and so I exercised all the less tested code paths and ran into all the bugs.
(1/5)
@simontatham So far as I can remember, OFS remained the default for floppy disks even up to AmigaOS 3.1, while FFS was used on most hard disks. I think the reasoning was that the extra data validation and copying of data in OFS was worthwhile for slow and unreliable floppy disks but unnecessary and a performance bottleneck for hard disks.
@bwh ah, my mistake – so the reason those Linux implementations seemed to have been barely tested against OFS is not that it's too old, just that everyone was more interested in hard disks. Fair enough, I suppose!