Files
linux-apfs/Documentation/filesystems/apfs.txt
T
Ernesto A. Fernández a805c44056 apfs: link to userland tools in the documentation
Mention the existence of the apfsprogs project in the documentation for
the module.

Signed-off-by: Ernesto A. Fernández <ernesto.mnd.fernandez@gmail.com>
2019-02-13 15:41:10 -03:00

64 lines
2.3 KiB
Plaintext

Apple File System
=================
The Apple File System (APFS) is a copy-on-write filesystem apparently intended
to replace HFS+ on all Apple devices in the near future. This modules provides
a degree of experimental read-only support on Linux.
The long-term goal is to support writes as well. To help with testing, a set
of userland tools is under development. The git tree can be retrieved from
<git://github.com/eafer/apfsprogs.git>.
Known limitations
=================
This module is the result of reverse engineering. As it is read-only there
should be no risk of data corruption, but do not expect everything to be read
correctly. Testing in general has been limited so far, so you may experience
crashes. Please report any issues that you find.
Apple has released other versions of the filesystem to the public before the
current one. I would not expect them to be compatible with this module at all,
but I am open to fixing that if requested.
Many features are not yet supported:
o Encryption.
o Compression, though the compressed contents of a file can be read from the
'com.apple.decmpfs' and 'com.apple.ResourceFork' xattrs as long as they are
under 64k.
o Restoring to a snapshot.
o Access control lists. This is not a priority.
Mount options
=============
When mounting an APFS filesystem, the following options are accepted:
vol=n
Volume number to mount. The default is volume 0.
uid=n, gid=n
Override on-disk inode ownership data with given uid/gid.
cknodes
Verify the checksum on all metadata nodes. Right now this has
a severe performance cost, so it's not recommended.
Credits
=======
Originally written by Ernesto A. Fernández <ernesto.mnd.fernandez@gmail.com>,
with several contributions from Gabriel Krisman Bertazi <krisman@collabora.com>
and Arnaud Ferraris <arnaud.ferraris@collabora.com>.
Work was first based on reverse engineering done by others [1][2], and later
on the (very incomplete) official specification [3]. Some parts of the code
imitate the ext2 module, and to a lesser degree xfs, udf, gfs2 and hfsplus.
[1] Hansen, K.H., Toolan, F., Decoding the APFS file system, Digital
Investigation (2017), http://dx.doi.org/10.1016/j.diin.2017.07.003
[2] https://github.com/sgan81/apfs-fuse
[3] https://developer.apple.com/support/apple-file-system/Apple-File-System-Reference.pdf