POSIX/UNIX semantics guarantees that renames are atomic.
POSIX/UNIX semantics do not make guarantees about the filesystem state after an OS crash.
Not having to do fsck after a filesystem crash gives the illusion that the filesystem is not corrupted.
It turns out that at least with extN after a crash we see filesystem
states that are illegal during normal operations. That is despite not
needing to run fsck the filesystem was corrupted.
It would be nice if there was a filesystem that could guarantee the visible state of the filesystem if fsck did not need to be run was:
- A legal state for the filesystem in normal operation.
- Everything that was fsynced was available.
Does anyone know of a journaling filesystem that guarantees not to give me a corrupt filesystem if fsck does not need to be run?