-
Improve macOS 10.12 support by creating nonexistent mount points
In macOS 10.12 the permissions of the root-owned
/Volumes
directory have changed from 1777 (rwxrwxrwt) to 1755 (rwxr-xr-t). As a result admin privileges are required to create mount points in/Volumes
.In order to allow non-admin users to mount FUSE volumes in
/Volumes
FUSE will create non-existent mount points automatically. -
Deprecate non-portable libosxfuse functions
File system binaries using these functions, will continue to work with FUSE for macOS 3.x. However, support will be dropped in the next major release. The following functions have been deprecated:
fuse_os_version_major_np()
fuse_device_fd_np()
fuse_mountpoint_for_fs_np()
-
Revise mount status detection in Objective-C FUSE framework to remove dependency on the deprecated function
fuse_device_fd_np()
-
Pass open flags to Objective-C FUSE framework based file systems
The
GMUserFileSystemOperations
delegate methodcreateFileAtPath:attributes:userData:error:
has been deprecated in favor of the new methodcreateFileAtPath:attributes:flags:userData:error:
, that allows passing open flags to the file system delegate. Seeopen(2)
for details.File systems implementing the old delegate method, will continue to work with FUSE for macOS 3.x. However, support will be dropped in the next major release.
-
Add support for querying file system operation context information for Objective-C FUSE framework based file systems
The context of the current file system operation is only valid during a file system delegate callback. The
NSDictionary
returned by+[GMUserFileSystem currentContext]
contains the following keys:kGMUserFileSystemContextUserIDKey
kGMUserFileSystemContextGroupIDKey
kGMUserFileSystemContextProcessIDKey
See
GMUserFileSystem.h
for details. -
Update Objective-C FUSE framework availability macros
File system binaries built with version 3.5 of the Objective-C FUSE framework are not compatible with previous framework versions unless the following preprocessor macro is defined before importing the framework header.
#define GM_VERSION_MIN_REQUIRED GM_OSXFUSE_2
-
Minor optimizations and code cleanup