Known Limitations
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, andcasefold. If your volume requires other incompatible features, likeinline_data,meta_bg, compression, or encryption, it won't mount. - LVM is not currently supported.
- Performance may be lower than it would be with a kernel extension (e.g. FB21069313 [4]). A large part of this is FSKit overhead, but there is also likely some room for improvement in this code.
- As stated elsewhere, this is a read-only implementation. You cannot write data to an ext4 volume using ExtendFS.
- 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.
- 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.
[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).