Comment by formerly_proven
4 years ago
Deferring flushes on the NVMe level could also corrupt a journaling FS itself, not just the contents of files written with proper fsync incantations.
4 years ago
Deferring flushes on the NVMe level could also corrupt a journaling FS itself, not just the contents of files written with proper fsync incantations.
Indeed, though that is somewhat rare. For our distro, I would opt to enable it by default on laptops (which is quite safe) and disable it on desktops.
APFS at least has metadata checksums to prevent that. However it does not do data checksums (weird decision...), despite being a CoW fs with snapshotting, similar to ZFS and btrfs.
They rely on hardware storing checksums and on protocol using checksums to prevent data corruption on all levels.
Everyone else does that as well and it's not a substitute for end-to-end data integrity.