Pixel Envy

Written by Nick Heer.

Digging Into the Dev Documentation for APFS

John Siracusa seems very pleased that Apple introduced a new file system at WWDC called “APFS”, for “Apple file system”.1 It’s not coming until next year but, at first blush, it seems thoroughly modern, powerful, fast, and secure.

Lee Hutchinson of Ars Technica dug through Apple’s initial documentation for the juicy bits. This sounds particularly intriguing:

Also interesting is the concept of “space sharing,” where multiple volumes can be created out of the same chunk of underlying physical space. This sounds on first glance a lot like enterprise-style thin provisioning, where you can do things like create four 1TB volumes on a single 1TB disk, and each volume grows as space is added to it. You can add physical storage to keep up with the volume’s growth without having to resize the logical volume.

Based on what I’m hearing, APFS will be making its way across Apple’s product lineup. I don’t know what the limitations are of this — if you do, please write me — but perhaps 16 GB iPhones and 128 GB MacBooks won’t be so space-constrained after all.

Update: Michael Rockwell:

regarding space constrained 16GB iPhones, I’m surprised they released the optimized storage feature for macOS and not iOS.

While potential space saving optimizations made possible by APFS will be available on iOS devices, it is strange that optimized storage is a MacOS exclusive right now.

Update: Apple explains space sharing:

Each volume in an APFS container reports the same available disk space, which is equal to the total available disk space of the container. For example, for an APFS container with a capacity of 100GB that contains volume A, which uses 10GB, and volume B, which uses 20GB, the free space reported for both volumes A and B is 70GB (100GB – 10GB – 20GB).

Think of it like flexible partitioning rather than allowing multiple volumes the same amount of virtual space, which is the way I read it initially.

  1. For the curious, “AFS” has already been taken by the Andrew File System and the AtheOS File System, though only the former still exists. ↩︎