Wednesday, July 12, 2017 [Tweets] [Favorites]

Pondering the Conversion From HFS+ to APFS

Mike Bombich:

Lack of documentation is not a small problem. Basic questions remain unanswered, such as “How do I determine how much space a particular snapshot uses?” and “How can I determine if ‘file Y’ is a clone of ‘file X’?” Here’s a good one: how can I definitively determine how much space any particular folder really uses? Doesn’t that sound like a weird question? What’s alarming is that even Finder doesn’t do this math correctly yet.

Snapshots are probably the most exciting and promising feature of APFS, but that aspect of the new filesystem simply isn’t ready at all. In fact, it remains to be determined whether third-party developers will ever get access to snapshot APIs.

Fast directory sizing is also undocumented. The APFS guide doesn’t even say what the filename limit is, although I was able to get an answer: 255 UTF-16 code units, which unlike HFS+ may be precomposed.

But if that’s not your hobby – if you wouldn’t call yourself “technically inclined” or if you’re the person that wants to use your Mac to do things rather than mess around with OS reinstalls and data recovery, then I urge you to not check the APFS conversion checkbox this Fall. Let us nerds get the bugs sorted out while APFS finds its footings. HFS+ may be an aging and sometimes flawed filesystem, but we know it and we’re familiar with it. APFS will get there, but trust is earned when reliability is proven.

I’m really excited about APFS—and optimistic about its reliability given that the iOS conversion seems to be going well—but I also don’t see a compelling reason to convert to it right away. There are more likely to be problems with Mac apps than iOS ones. Developers, of course, should update at least one Mac or VM to use for testing.

Update (2017-07-17): Matt Birchler:

PSA: [Google Photos] simply does not work on High Sierra if you are using APFS. It will ask you to please use an HFS+ drive.

Howard Oakley:

One consequence of this is the order in which filenames are returned when listing them using readdir(2) in the standard C library libc: HFS+ has returned filenames in lexicographic order after normalisation, whereas APFS will return filenames in order according to their hashes. I’m sure that will catch someone out.

Finally, Apple continues to state that APFS does not support the hard links on which Time Machine’s current backups rely.

Another thing to watch out for: the increased precision of APFS dates.

3 Comments

Well. Let us know when it will be no longer dangerous to switch ... ;-)

Yeah, stay with HFS and deal with silent, unrepairable filesystem corruption. I've got only 2 media storage drives that aren't that big, and I've had to copy everything off and reformat at least 3 times each.

Nerding it out about Unicode and sort order and links is not something that affects any non-developer. The average user needs to switch ASAP.

@Sam I have seen horror stories of APFS corrupting drives, too. In theory this should happen much less than with HFS+ once the code is mature. But for now you’re gambling either way.

Stay up-to-date by subscribing to the Comments RSS Feed for this post.

Leave a Comment