At the heart of macOS Sierra is a crucial component on which every app that you use depends. That component was designed for the Mac II with its optional 40 or 80 MB hard drive and 800 KB floppy disks, and its last major release was in January 1998. It is the Mac OS Extended file system, or HFS+.
Fast forward to 2017, and most new Macs sold have SSD storage, with total internal capacities as great as 3 TB. It’s not uncommon to find desktop systems hooked up to many terabytes of additional storage, connected via high-performance Thunderbolt, USB3, and network cables. It’s a real testament to Apple’s file system engineers that good old HFS+ is able to cope. Just.
Last summer, after years of speculation as to its replacement, Apple announced that HFS+ is to be replaced. It has since released beta-test versions of the replacement, dubbed simply Apple File System but abbreviated to APFS to avoid confusion. When Apple releases macOS 10.13 – expected in around eight months time – and iOS 10.3 – which will be in a matter of weeks – Macs, iPhones, and all other current hardware products will migrate over to using APFS.
File systems determine how the data is stored on storage. Every app works with the file system, but the great majority of apps only do so at a high level, which should be independent of the underlying file system. The most common exceptions are apps which try to analyse the file system, find any errors in it, and repair them.
Most directly-connected storage systems such as external hard drives should also work independently of file systems, and their storage can be formatted in a range of different ways to support file systems other than HFS+. That formatting should be the responsibility of Disk Utility. Once APFS is released and incorporated into Disk Utility, you will be able to use it to format regular hard drives and SSDs in APFS.
Benefits of APFS
This is a new file system, designed from the start to work with today’s storage systems, and how Apple expects them to develop in the coming years. It is most importantly designed so that it can work across a very wide range of systems, from watches to expansive desktop computers. It has been optimised for SSD and similar memory-based storage, which is of course the standard now across all Apple hardware except for Macs.
One of the most obvious changes which everyone should find beneficial is that APFS does away with the old, fixed-size partitioning of disks into volumes. When you convert your internal disk to APFS, it will become a single APFS container, which can then contain multiple file systems and volumes which can grow and shrink as you wish.
We may well see virtualisation software, such as Parallels Desktop, making use of this, instead of building huge files on a volume of fixed size. This will also mean that you can create ad-hoc volumes for specific projects without having to re-partition a drive.
APFS can also clone files and directories almost instantly. The majority of apps now support keeping previous revisions of documents as you work on them. Currently, this is done by saving each as a version. When APFS manages versions, only the changed data in each version have to be saved to storage, which uses far less space, and works much faster.
APFS also supports ‘sparse’ files, which work a bit like highly efficient compression, but without the overhead. For example, a huge file containing very little data only occupies the space required to store those data, not the entire file size.
Time Machine is currently an amazing trick accomplished despite HFS+. APFS includes a feature to create a read-only copy of a file system, a snapshot, which will form the basis of Time Machine’s backups in the future. These should significantly reduce the time taken to make backups and to restore from them, and should increase their reliability even when working with massive backups accumulated over time.
Another weakness in HFS+ which you will be familiar with is the time that it takes to work out the number of files and space taken by a folder or volume. APFS is designed to make those figures available almost instantly.
FileVault is a vital feature which has had to be retro-fitted into HFS+, but will change dramatically with APFS, which has encryption designed into it from the outset. It therefore allows you to choose from several options for each volume within an APFS container. These range from no encryption at all, to multi-key encryption with different files/folders protected by different keys, even a separate key for metadata.
APFS is only going to be supported by macOS 10.12 and later. Storage which is formatted in APFS will not be accessible from Macs running 10.11 or earlier versions of OS X.
Apple’s intention, which will be confirmed in June, is that macOS 10.13 will expect its startup disk to be formatted using APFS (this may not apply to optical media or USB memory sticks, though). This means that upgrading to 10.13 in the autumn of this year will probably require your startup disk to be converted to APFS. There is already a command line tool,
apfs_hfs_convert, which does this, but this will need further improvement before it is ready to work reliably on millions of Macs.
Apple has also provided a command line tool to check and repair APFS containers,
fsck_apfs, although that is still improving during beta-testing. This is expected to form the basis for the new Disk Utility’s First Aid tool, and may well be used by third-party repair tools, at least for the time being.
Simple hardware, like external disks, should format just fine to APFS. The more sophisticated the storage, the more likely it is to encounter problems. Good hardware RAID enclosures should still be OK, but any storage which relies on a kernel extension to work properly may need an update to that extension, which is something that only its vendor will be able to provide.
Networked storage (NAS) systems should not be affected by APFS, as they run their own file systems internally and communicate using protocols such as AFP and SMB. Recent experience with NAS systems and Time Machine backups suggests that they could be vulnerable to these and other changes coming in macOS 10.13, and may need updating for full compatibility with 10.13. However, this also means that NAS systems will not be able to offer the benefits of APFS, but will continue to offer their normal features and functions. Macs will still, of course, retain full access to HFS+ storage.
Switching over to APFS in macOS 10.13 will inevitably cause more problems than a regular macOS upgrade. Now is the time to start planning how you will manage that, or you may find yourself unable to upgrade without replacing hardware. Check that the storage devices that you use are modern, and rely as little as possible on kernel extensions or other software to work properly. I’ll be providing further detailed advice here as Apple releases more information, and as we all gain experience using APFS on iOS devices.
(Corrected 1630 27 January 2017: see comments.)