Last Week on My Mac: Is APFS running into trouble?

File system errors used to be the bread and butter of user Q&A sections in magazines. Over the nearly thirty years that I had been answering questions about your problems with the Mac Extended File System, HFS+, I grew used to those whose hard disks had been blown away completely, and the lucky few that were rescued by tools like Alsoft’s DiskWarrior. With increasing use of SSDs and the switch to APFS in High Sierra and Mojave, those had almost petered out. In recent months I have seen a resurgence, although now of course there’s no alternative but Disk Utility and fsck_apfs.

Some of these questions arise as a result of the lingering bug in Disk Utility’s First Aid, that it often can’t unmount volumes in order to run any checks. Each time I think that Apple has finally got round to fixing that, it reappears like a stalker. Although Apple has clarified the error message shown, it seems extraordinary that this has persisted for so long.

diskutilfail

Error reports like that above, seen in Big Sur, gave no hint to the user as to what they should do next, other than back up and pray, perhaps.

diskutil04

In Sonoma, First Aid at least doesn’t imply that the problem lies in the disk teetering on failure. But why can’t First Aid do what the user is left to address, unmount the offending volumes, and get on with its checks?

There’s another problem underlying First Aid that leads the unsuspecting user to leave errors unrepaired: by default, Disk Utility hides APFS containers from view. Unless you know to set its View tool to Show All Devices, when an error message mentions containers you haven’t a clue what it’s referring to, as those aren’t shown in the list at the left. How then can you run First Aid on them? This is worse when running First Aid in Recovery, as its View settings aren’t saved, so every time that you use Disk Utility in Recovery you have to set the tool to Show All Devices again.

diskutil14

Two types of error now appear to be increasingly common: those in snapshots, and those requiring “full space verification” that can only be performed by running First Aid on the container you can’t see.

Errors in snapshots seem relatively frequent, and puzzle me. Snapshots are made entirely within APFS, in the twinkling of an eye, and are set read only. There’s no scope for blaming anything else: a snapshot error is diagnostic of an error within APFS itself. There’s also nothing the user can do about them, except wait for that snapshot to be deleted automatically, or take the matter into their own hands and delete it prematurely.

Those errors for which fsck_apfs reports that it needs to perform full space verification are more likely to prove repairable, although if the user doesn’t see how they can run First Aid on the container, many simply abandon further attempts at repair. As most of those I’ve seen reported affect the Data volume on the Mac’s internal SSD, that’s surely the last place you’d want to leave a file system problem to fester.

When Apple first told developers about APFS, it was asked whether it would be made open source. It decided not to, and since then has used its file system features to commercial benefit, giving Time Machine inherent advantages over its third-party competitors. Although Apple started to release documentation of APFS, its woefully incomplete account hasn’t been updated for well over three years. The few companies technically capable of developing tools to perform checking and repair of APFS have subsequently been unable to come up with alternatives to fsck_apfs and Disk Utility’s First Aid.

That places an even greater burden on Apple to ensure that errors in APFS are exceptional, and its repair tools are well maintained and thoroughly reliable. Yet six years on from High Sierra, Disk Utility confuses users and still can’t check and repair disks reliably.