github osxfuse/osxfuse osxfuse-3.3.0
FUSE for OS X 3.3.0

latest releases: macfuse-4.7.2, macfuse-4.7.1, macfuse-4.7.0...
pre-release8 years ago
  • Update libosxfuse from version 2.9.5 to 2.9.6

  • Update MacFUSE compatibility layer from version 2.7.4 to 2.7.5

  • Use weak linking to make OSXFUSE.framework backward compatible

    When a symbol in a framework is defined as weakly linked, the symbol does not have to be present at runtime. This allows taking advantage of new features while still supporting older versions of the framework.

    To build a file system that still supports FUSE for OS X 2.x define the following preprocessor macro before importing the framework header.

    #define GM_VERSION_MIN_REQUIRED GM_OSXFUSE_2
    

    Make sure to check for the existence of weakly linked symbols before using them, otherwise the file system might crash.

  • Bump number of osxfuse devices to 64. This addresses issue #277.

  • Lower minimum file system block size to 128 bytes. This addresses issue Finder showing wrong sizes through statfs.

  • Increase maximum file system block size from MAXPHYS (128 KiB) to MAXBSIZE (1 MiB)

  • Clean up vnop_exchange operation in kernel extension

    Use vnode_update_identity() instead of fuse_kludge_exchange() for updating the vnodes' names and parents. This renders fuse_kludge_exchange() obsolete.

  • Implement new style mount process

    When mounting a FUSE volume on Linux, fusermount opens the FUSE device and passes the file descriptor back to libfuse.

    However, on OS X libosxfuse used to be responsible for locating a free FUSE device, opening it, and then passing the file descriptor to mount_osxfuse. For this to work libosxfuse needs to be aware of low level implementation details like the number of registered FUSE devices.

    In order to decouple libosxfuse from the FUSE kernel extension the mount process has been revised to match FUSE on Linux. mount_osxfuse will locate a free FUSE device, open it, and then pass the file descriptor back to libosxfuse.

  • Update mount_osxfuse environment variables

    • Remove unused MOUNT_FUSEFS_SAFE
    • Rename MOUNT_FUSEFS_CALL_BY_LIB MOUNT_OSXFUSE_CALL_BY_LIB
  • Refactor kernel extension loader

  • Remove unused FUSEDEVIOCSETIMPLEMENTEDBITS ioctl

Don't miss a new osxfuse release

NewReleases is sending notifications on new releases.