Lately, I have been thinking a lot about the lack of APFS support on Linux. I was wondering what I could do about that. APFS support is not in-tree, but there is a proprietary module sold by Paragon software [0]. Obviously, this could not be used in-tree. However, there is also an open source driver that, from what I can tell, was once planned to be upstreamed [1] with associated filesystem progs [2]. I think I would base most of my work off of the existing FOSS tree. The biggest barrier I see currently is the driver's use of bufferheads. I realize that there has been a lot of work to move existing filesystem implementations to iomap/folios, and adding a filesystem that uses bufferheads would be antithetical to the purpose of that effort. Additionally, there is a lot of ifndefs/C preprocessor magic littered throughout the codebase that fixes functionality with various different versions of Linux. The first step would be to move away from bufferheads and the versioning. I plan to start my work in the next few weeks, and hope to have a working driver to submit to staging by the end of June. From there, I will work to have it meet more kernel standards and hopefully move into fs/ by the end of the year. Before I started, I was wondering if anyone had any thoughts. I am open to feedback. If you think this is a bad idea, let me know. I am very passionate about the Asahi Linux project. I think this would be a good way to indirectly give back and contribute to the project. While I recognize that it is not one of Asahi's project goals (those being mostly hardware support), I am confident many users would find it helpful. I sure would. Thanks, Ethan Carter Edwards <ethan@xxxxxxxxxxxxxxxxx> [0]: https://www.paragon-software.com/us/home/apfs-linux/ [1]: https://github.com/linux-apfs/linux-apfs-rw [2]: https://github.com/linux-apfs/apfsprogs