ZFS: Apple's new filesystem that wasn't (2016)
Why Apple Didn’t Ship ZFS
- Consensus that licensing and business risk, not core technical issues, killed ZFS at Apple.
- Multiple comments cite Sun/Oracle’s refusal to give Apple strong indemnification in the NetApp patent fight as the key blocker.
- Apple could (and did) ship CDDL code like DTrace, but a filesystem holding all user data was seen as too central to risk without contractual protection.
- Some see this as “Tim Cook doctrine” / control over core tech; others call that more NIH than necessity.
APFS vs ZFS and the Migration Story
- Several argue Apple could have rolled out ZFS as smoothly as APFS, using the same “convert in memory, discard on error, log back to Apple” strategy.
- Others counter that APFS’s clean-sheet design, tuned for Apple’s flash/NVMe stack and uniform device layouts, enabled the unusually smooth conversion.
- APFS is criticized for checksumming only metadata; ZFS-style end-to-end data checksums are described as a major missing feature.
- Some note APFS is still a poor fit for spinning disks and that Apple devices don’t always auto-convert external media.
ZFS on Phones, Watches, and Low-RAM Systems
- Disagreement on whether ZFS would have been viable on early iPhones and Apple Watch–class devices.
- Pro-ZFS comments cite successful deployments on very small systems and emphasize that high RAM needs are mostly about dedup.
- Skeptics point to latency, ARC behavior, and RAM pressure as potential issues on highly dynamic, constrained devices.
ECC, Bit Flips, and “ZFS Will Eat Your Data”
- A long subthread debunks the idea that ZFS “requires” ECC or is uniquely prone to corruption with non‑ECC RAM.
- ZFS is framed as more likely to detect underlying hardware faults (RAM, cables, controllers, disks) rather than cause them.
- Debate over real-world error rates: some claim consumer hardware plus non-checksumming filesystems already produce noticeable silent corruption; others say disk-level ECC is usually sufficient.
ARC, Memory Pressure, and Performance
- Discussion of ZFS ARC as a large cache outside the normal page cache; historically it could release memory too slowly under pressure.
- Modern implementations integrate better with VM and have tunable limits, but corner cases (especially on desktops) still exist.
- Mixed performance anecdotes: some see ZFS on macOS as disastrous (especially over USB), others report excellent performance on Linux/BSD and servers.
Industry Context and Alternatives
- Commenters tie the demise of ZFS-on-macOS and Microsoft’s WinFS to a broader shift: desktop filesystems seen as less strategic in a cloud‑centric world.
- ZFS is first-class on FreeBSD and widely used for bulk storage and snapshot/replication workflows; Linux adoption is hampered by GPL/CDDL incompatibility and out‑of‑tree status.
- Btrfs and other CoW filesystems (and higher-level tools like Stratis) are viewed as more naturally integrated into Linux for snapshotting and boot‑environment features.