A comparative deep dive into ext4, NTFS, ZFS, FFS, BFS and APFS — crash consistency, snapshots, CoW and tradeoffs
Posted by Reversed-Engineer-01@reddit | linuxadmin | View on Reddit | 14 comments
I wrote a long-form comparative piece on filesystem design, with ext4 as one of the central reference points but not the only one.
The article walks through FFS/FFS2, BFS, NTFS, ext4, ZFS and APFS, focusing on the design tradeoffs that actually matter in practice:
- journaling vs soft updates vs CoW
- snapshots and clones
- checksums and integrity models
- encryption as bolt-on vs built-in
- space sharing vs old partition thinking
It is not a benchmark post and not a distro-war piece. The point is architectural tradeoffs, and why some filesystems feel boring but dependable while others aim for stronger guarantees or tighter OS integration.
Link:
Curious to hear where Linux people disagree, especially on ext4 vs ZFS vs the APFS comparison.
colttt@reddit
u forgot bcachefs
Reversed-Engineer-01@reddit (OP)
This is the only factual objection I read here. Actually it's the only useful/intelligent objection I saw in this thread.
You're totally right, not mentioning btrfs is an omission that I have to fill.
Thanks
grumpysysadmin@reddit
For what it’s worth, Fedora and SuSE are using btrfs by default and it does have a lot of advantages for mobile endpoints like laptops.
EmbeddedEntropy@reddit
Btrfs != bcachefs.
m15f1t@reddit
You are comparing filesystems dat don't really compete with each other (I don't see the use of doing that, but perhaps I'm missing something). Most FSses are *nix filesystems, and while NTFS can work in linux, it's mostly used just to be able to read some data from ntfs things/disks/usbsticks etc because we have to, but to use it in any pron environment? Same goes for APFS I guess.
And then you leave out XFS, why?
Reversed-Engineer-01@reddit (OP)
You're right that these filesystems don't compete directly—that's not the point of the comparison.
This post isn't "which filesystem to choose for Linux." It's the **foundation for understanding APFS** (covered in Part 2).
I'm tracing the **evolutionary path**: what design patterns APFS inherited, what problems it solved differently, and what philosophies it rejected.
Why these specific filesystems?
- FFS: The foundational UNIX filesystem (cylinder groups, soft updates). Everything else is derivative or reaction.
- BFS: Metadata-as-queryable-data philosophy. Dominic Giampaolo (BFS author) later worked on APFS at Apple. Direct lineage.
- NTFS: Enterprise journaling model. Shows what APFS avoided (fragmentation, complexity overhead).
- ext4: Iterative evolution (ext2 to ext3, then to ext4). Contrast with APFS (clean-slate design).
- ZFS: CoW, snapshots, pooled storage. APFS took these ideas and optimized for single-disk consumer devices instead of multi-disk servers.
Why not XFS?
XFS is solid for enterprise Linux (RHEL default), but it's in the same category as ext4: journaled, extent-based, no native CoW/snapshots. Less relevant to understanding APFS's design choices.
Why include NTFS if it's "Windows-only"?
Because APFS needed to solve the same problems (encryption, crash consistency, dynamic space allocation) that NTFS tried to solve—but APFS did it differently (native encryption vs. EFS/BitLocker, CoW vs. journaling, container model vs. fixed partitions).
The comparison isn't about "what to deploy on Linux." It's about understanding how APFS fits into the filesystem design landscape.
Part 2 will show how APFS uses these architectural choices to harden macOS (Sealed System Volumes, SIP integration, firmlinks). That's the payoff.
Thanks for giving me the possibility to better explain the aim of the post, really.
grumpysysadmin@reddit
Why not include btrfs or the new bcachefs?
insanemal@reddit
bcachefs isn't new and it isn't in the kernel anymore and the developer has fallen in love with his AI Agent.
So fuck that filesystem in the eye.
What is it with filesystem developers and weird relationships with their significant other
grumpysysadmin@reddit
Oh lord I hadn’t seen that. Ugh.
It was an interesting idea for a filesystem. Too bad the guy appears to have lost his mind.
atoponce@reddit
AI slop.
TEK1_AU@reddit
APFS sucks
insanemal@reddit
There are some glaring issues with this.
Under NTFS you have "No CoW so it fragments"
This is the most pants on head insane shit I've ever read and I stopped there because clearly the rest is going to be pure horse shit.
CoW amplifies fragmentation by its very fucking design.
Get the absolute fuck out of here with this clearly AI generated bollocks
crackerjam@reddit
Your "Conservatively estimated failure rate" section is absolute nonsense.
Suggesting that growing an NTFS filesystem has a 2-5% data loss rate is ludicrous. That means that for every 20 partitions you extend, one of them has a catastrophic failure that necessitates recovering from backup. Absolutely absurd.
And a 10-15% failure rate for NTFS shrinks? Get out of here.
Both are completely supported by Windows and failure rates are essentially 0%.
safrax@reddit
This guy posts a lot of ai slop.