Archive for September 21, 2018

Friday, September 21, 2018

Apple File System Reference

Howard Oakley:

Apple has at last released the Apple File System Reference, 143 pages and over 400 KB of detailed documentation about its new file system.

According to its revision history, this describes the data structures used for read-only access to APFS on unencrypted storage, but doesn’t apparently cover Fusion Drives, which hopefully will be detailed later.

See also: APFS encryption, ghost guest users, and odd UUIDs, What APFS Does for You, and What You Can Do with APFS.

Update (2018-09-24): See also: Hacker News:


At last! Apple’s old APFS docs always had this mysterious note about Fast Directory Sizing:

You cannot enable Fast Directory Sizing on directories containing files or other directories directly; you must instead first create a new directory, enable fast directory sizing on it, and then move the contents of the existing directory to the new directory.

but there was never any documentation on how to do this, and no Apple engineer would say. The most common internet theory seemed to be that this feature was purely automatic, and all mentions (like this) in the docs were just incredibly misleading.

Now it seems we have an answer, in this flag: “INODE_MAINTAIN_DIR_STATS: The inode tracks the size of all of its children.”

Update (2019-01-25): Joe Sylve:

Apple’s APFS documentation now contains information about software encryption.