Hacker News new | ask | show | jobs
by chungy 2828 days ago
This seems like it's probably enough to re-implement APFS on non-Mac platforms; in fact, the about page (page 6) says as much.

Kudos to Apple for providing the information. It's a hell of a lot better than reverse engineering the thing (see how many years it took to get NTFS down...)

4 comments

There is already one third-party-implementation in the works. They sure find this helpful in their efforts.

https://github.com/sgan81/apfs-fuse

This is user space – hopefully a kernel level one will come out as a result of this.

Or does it matter, performance-wise? People that know more can chime in.

Yes, FUSE is slower than in-ring0 implementation, even by the sheer overhead of the syscalls.
Iirc, it’s relatively straight forward to migrate to a module though?
Agreed. I was honestly expecting a more hand-wavy explanation, but I was surprised that they dived into so much detail on, e.g., the structs used to represent various objects in APFS.
Likely enough to create third-party disk recovery utilities.
From the second paragraph of the PDF:

"This document is for developers of software that interacts with the file system directly, without using any frameworks or the operating system—for example, a disk recovery utility or an implementation of Apple File System on another platform."

It's a little light. It reminds me of some vendor GPU documentation that explains the names of constants and layouts, but not as much how the pieces fit together, and the gotchas of the interrelated data structures. And that's what tends to be the hard part anyway.