macfuse macfuse-5.3.0

macfuse-5.3.0Pre-release

macFUSE 5.3.0

Added 9
  • Introduce a new channel API for exchanging FUSE messages with FUSE backends that significantly improves I/O performance for volumes mounted using the FSKit backend
  • Add support for the new channel API provided by MFMount.framework in FSModule (FSKit Backend)
  • Add support for the new FUSE_INIT flags FUSE_DARWIN_REPLY_BUF and FUSE_DARWIN_PAYLOAD_BUF to allow for zero-copy reads and writes
  • Add MFChannelRef for message-oriented communication with a backend
  • Add MFMessageRef for inspecting received FUSE messages
  • Add support for transport-provided reply buffers, allowing read replies to be written directly into the destination buffer
Changed 2
  • Update build process to use Xcode 26.5 (macOS 26.5 SDK)
  • Substantially improve I/O performance with reading files up to 15 times faster than in previous releases
Fixed 1
  • Improve stability by addressing a race condition when accessing cached volume statistics that could cause the file system extension to crash

From macfuse

General
  • Update build process to use Xcode 26.5 (macOS 26.5 SDK)

  • Introduce a new channel API for exchanging FUSE messages with FUSE backends. The new API significantly improves I/O performance for volumes mounted using the FSKit backend.

FSModule (FSKit Backend)
  • Add support for the new channel API provided by MFMount.framework

  • Add support for the new FUSE_INIT flags FUSE_DARWIN_REPLY_BUF and FUSE_DARWIN_PAYLOAD_BUF. The flags allow for zero-copy reads and writes.

  • Substantially improve I/O performance. Tests with the LoopbackFS reference file system show that reading files is up to 15 times faster than in previous releases.

  • Improve stability by addressing a race condition when accessing cached volume statistics that could cause the file system extension to crash.

MFMount.framework
  • Introduce a new channel API for exchanging FUSE messages with the FSKit Backend and the Kernel Backend.

    MFMount.framework is intended for developers porting FUSE user-space libraries to macOS, or adapting existing libraries to support mounting volumes using the FSKit backend. The framework handles the mount operation and provides a C API for communicating with the backend.

    The new channel API exposes FUSE messages as borrowed buffers instead of requiring callers to copy each message into a single contiguous buffer. This allows for zero-copy reads and writes for large payloads when using the FSKit backend.

    • Add MFChannelRef for message-oriented communication with a backend. A channel is associated with a volume when the volume is mounted.
    • Add MFMessageRef for inspecting received FUSE messages
    • Add support for transport-provided reply buffers, allowing read replies to be written directly into the destination buffer
    • Add blocking, non-blocking, and polling-style receive APIs

    Please note that parts of the MFMount.framework API may still change in future releases.

libfuse
  • Add support for the new channel API provided by MFMount.framework
libfuse3
  • Add support for the new channel API provided by MFMount.framework
Sponsors
  • Your support is important to sustaining the future development of this project. If macFUSE makes your life easier, consider sponsoring the project through GitHub Sponsors.
View original

Upgraded? How did it go?

Discussion