Apple’s Big Gamble: the 6th Birthday of APFS
The downside to this increased complexity is that free space is dynamic and much of it can be temporary and conditional. Apple still has a way to go before users can have confidence in any of the estimates of free space currently available in macOS. This is worst when it’s most critical, such as when trying to update macOS.
What I’ve never seen quantified is the incidence of minor file system errors, and their impact on long-term disk health. As with many other users of HFS+, I was used to running First Aid in Disk Utility and third-party repair tools to fix minor errors, even after the introduction of journalling. Since migrating to APFS, errors have been exceptional, and I have stopped routine maintenance. That isn’t to say that APFS never fails, but the cases that I hear of are extremely rare and unrecoverable.
From its first announcement, APFS has been criticised for its lack of integrity checks on data storage, and lack of redundancy. While file system metadata in APFS do use checksums, there’s no option to protect data using them, nor does APFS provide any scope for a third-party to add integrity checks or redundancy as an extension.
[…]
But by far the biggest limitation to APFS is its proprietary secrecy. Although some of its basics have been reversed for third-party products, much remains closely guarded by Apple. This continues to prevent the development of third-party repair and recovery utilities.
I see APFS as a mixed bag:
The best features are snapshots and cloning. These are really great, and they’re transformative both for users and for software design.
The other main promise of APFS was improved reliability, but I have not seen that in practice. I had not been having catalog reliability problems with recent versions of HFS+. With APFS, I have seen several catastrophic failures, i.e. drives that could no longer be mounted without reformatting. It’s hard to know whether those same drives would have failed had I been using HFS+ or whether DiskWarrior would have been able to recover them. All I can say is that I hadn’t needed DiskWarrior with my HFS+ drives for many years and that with APFS it was not an option.
A few times, macOS reported that an APFS drive wasn’t mountable, but then it did mount—and seemed to be in great shape—after restarting or when attached to a different Mac. So there seems to be some level of spurious errors, which is not great for inspiring confidence, but it does mean you shouldn’t give up right away if macOS reports a problem.
With both HFS+ and APFS, EagleFiler occasionally finds damaged files. APFS is not designed to prevent bit rot. This is not a big deal because, with the early detection, I can replace them with good copies from backups and take the drive out of service if it seems to be going bad. My most heavily accessed files are stored on the Mac’s internal SSD, which seems less prone to bit rot and bad blocks.
Recent versions of macOS have been terrible at mounting and unmounting drives. Both can take unpredictably long amounts of time or not succeed at all. I don’t know whether this is related to APFS, though it seems not to occur with my few remaining HFS+ drives.
I also sometimes see multi-minute freezes in various apps when I’m doing a backup, which I think may be related to their using APFS snapshots. Pausing the backup doesn’t help, but stopping it (which I assume unmounts the snapshot) does.
Performance with spinning hard drives is really bad. I’ve been using APFS because most of these drives are backups, where it’s nice to be able to use snapshots, and because I want them to be encrypted and Apple has removed the GUI options for creating encrypted HFS+ drives. I could use Terminal but was taking the hint that this format is deprecated. However, I wonder whether this was a mistake because it makes my backups slow, and the poor performance a result of access patterns that cause extra wear and tear. There are also fewer tools for dealing with fragmentation.
Apple mostly fixed Unicode support a few versions in, but the revised design still doesn’t seem ideal, as older versions of macOS cannot work with filenames using emoji that were introduced with newer versions of macOS. Application code has to be aware of this failure mode but doesn’t really have any good tools to deal with it. Moving files between Macs with different versions can be problematic.
Time Machine on APFS no longer lets you disable Spotlight, so the only way to avoid invasive indexing is to unmount my backup drives.
Previously:
- Ventura Time Machine Backups and the APFS Uncertainty Principle
- DiskWarrior 5.3
- Ventura Issues
- Invasive Spotlight Indexing
- Should You Continue Using HFS+?
- Time Machine Evolution and APFS
- APFS Volume Names Are Still a Unicode Mess
- Whitelisted Developers
- Sparse Files Are Common in APFS
- APFS Snapshots and Large Files
- Enabling Defragmentation on APFS Hard Drives
- APFS Enumeration Performance on Rotational Hard Drives
- iDefrag and iPartition Discontinued
- APFS Native Normalization
- Pondering the Conversion From HFS+ to APFS
- APFS’s “Bag of Bytes” Filenames
Update (2023-09-14): Christian Tietze:
Ah yes, the casual macOS morning hang where everything beachballs and no input is accepted anymore for 5 minutes.
I still have this problem. Turns out it’s related to an external HDD that has beef with the system, because the system just refuses to connect it for 10 minutes. I don’t know why drives specifically are so messed up in macOS.