Opened 4 years ago

Closed 3 years ago

Last modified 8 months ago

#16333 closed enhancement (no change required)

Support APFS

Reported by: bitigchi Owned by: nobody
Priority: normal Milestone: Unscheduled
Component: File Systems Version: R1/beta2
Keywords: Cc:
Blocked By: Blocking: #16657
Platform: All

Description

APFS is the file system used on Macs and iOS devices.

Documentation:

[1] https://developer.apple.com/support/downloads/Apple-File-System-Reference.pdf
[2] https://developer.apple.com/documentation/foundation/file_system/about_apple_file_system

(also it's not present in component list of Trac).

Change History (7)

comment:1 by CodeforEvolution, 3 years ago

Apparently, Paragon released an open-source SDK, kind of like the NTFS-3G library we make use of for our NTFS driver: https://github.com/Paragon-Software-Group/paragon_apfs_sdk_ce

There are three caveats however:

  • The library only supports APFS with read-only file system support
  • The library license clause is a strange 3-Clause BSD like license
  • There's a weird condition clause in the license: "Modification of the source code does not implement and/or enable APFS write functionality."

comment:2 by cocobean, 3 years ago

There is some code for an APFS FUSE driver: See: ​https://github.com/sgan81/apfs-fuse

comment:3 by waddlesplash, 3 years ago

Blocking: 16657 added

comment:4 by waddlesplash, 3 years ago

If there is already a FUSE driver, why not just port that via HaikuPorts? Do we have any particular reason why we need in-driver support?

comment:6 by korli, 3 years ago

Resolution: no change required
Status: newclosed

comment:7 by marcoapc, 8 months ago

Here interesting apfstests and code links for references or ideas:

https://github.com/linux-apfs/apfstests

https://github.com/orgs/linux-apfs/repositories

Note: See TracTickets for help on using tickets.