Known Limitations
Current Issues
Before trying ExtendFS, please know the following:
- Not all ext4 features are supported. The following feature flags are supported:
filetype,recover[1],extents,64bit,mmp[2],flex_bg,csum_seed[3],largedir,casefold, andinline_data. If your volume requires other incompatible features, likemeta_bg, compression, or encryption, it won't mount. - LVM is not currently supported.
- Performance when working with directories with many files may be lower than it would be with a kernel extension. A significant part of this is FSKit overhead (e.g. FB21069313 [4]).
- As stated elsewhere, this is a read-only implementation. You cannot write data to an ext4 volume using ExtendFS.
- If there are multiple hard links to the same file in a folder, only one of the hard links appears in the Finder (FB21021220). You can still use command line tools like
ls(1)to enumerate the hard links. - An internal ext2/3/4 volume might not auto-mount, and you may need to use the
mountcommand in Terminal in order to mount it (#2, FB21729650).
FSKit is still very young and Apple is rapidly adding new features and fixing bugs in the framework in macOS updates. I encourage you to use the latest version of macOS possible if you are encountering issues.
Resolved Issues
The following used to be limitations of ExtendFS, but have since been resolved or implemented. They are left here for historical purposes.
- When on an ExtendFS version older than 1.2.0 or macOS older than 26.5, write-related options such as creating new folders or deleting items might unexpectedly appear in the Finder. This is an FSKit bug (actually, various bugs - FB19241327, FB21068845). Performing those actions does not actually write any data to the disk.
- A volume with the
inline_datafeature can be mounted and read in ExtendFS 1.2.0 or later.
[1] ExtendFS currently cannot repair your disk. If it is marked as needing recovery, it will still try to mount, but you may see a warning that the disk could not be repaired. If you see this, you should attempt a repair using fsck on a Linux machine.
[2] MMP does not perform any checks because volumes can currently only be mounted read-only.
[3] ExtendFS only verifies checksums on some data structures at this time.
[4] If you're wondering what the FB numbers are, these are Apple feedback numbers for various bugs I filed against FSKit. You unfortunately can't see them, but they're mostly for my own reference (or to reference by an Apple employee, if they happen to come across this).