-
-
Notifications
You must be signed in to change notification settings - Fork 542
FUSE Backends
Benjamin Fleischer edited this page Oct 30, 2025
·
11 revisions
macFUSE 5.0 supports multiple APIs for mounting file systems.
By default, macFUSE uses the VFS API to mount file systems. When specifying the mount-time option -o backend=fskit, macFUSE will use FSKit to mount the file system.
The VFS API is a kernel API for developing file systems. APFS and other Apple file systems are built on the VFS API. Developing a VFS file system requires shipping a kernel extension.
The development of the macFUSE kernel extension started more than a decade ago. It has been maintained, improved and optimized ever since. The macFUSE kernel code is stable and has a proven track record.
FSKit is a user-space API and has been introduced in macOS 15.4. FSKit is a modern successor to the VFS API.
- Using mount points outside of /Volumes is not supported by FSKit.
- Files are always opened in read/write mode.
- The FUSE notification API is not supported, yet.
- Context information (
fuse_context_t) is not available due to the information not being provided by FSKit. - Most mount options previously handled by the kernel are not implemented, yet.
- I/O performance of FSKit volumes is not on par with volumes using the kernel extension backend.