Commits on Jun 13, 2017
Commits on Jun 7, 2017
Commits on Apr 16, 2017
Commits on Mar 19, 2017
Commits on Mar 16, 2017
  1. Update copyright year

    bfleischer committed Mar 16, 2017
Commits on Mar 15, 2017
Commits on Mar 3, 2017
  1. Remove legacy mount hash

    bfleischer committed Mar 3, 2017
Commits on Feb 28, 2017
Commits on Jan 7, 2017
Commits on Dec 28, 2016
Commits on Dec 1, 2016
Commits on Nov 20, 2016
  1. Double fork before execing mount_osxfuse

    In rare cases mount(2) performs file system operations. Calling
    mount_osxfuse synchronously can result a file system deadlock. Double
    forking ensures the mount process is asynchronous.
    bfleischer committed Nov 20, 2016
Commits on Oct 26, 2016
  1. Use setattr_x() if fsetattr_x() unavailable

    In case the fsetattr_x() callback is not implemented by the file system
    fall back to setattr_x().
    bfleischer committed Oct 25, 2016
Commits on Oct 19, 2016
Commits on Oct 18, 2016
  1. Fix volicon on macOS 10.12

    Fixes an incompatibility on macOS 10.12, resulting in the volume
    icon not being displayed in Finder, when using mount-time options
    volicon, local, and extended_security at the same time.
    bfleischer committed Oct 18, 2016
Commits on Sep 18, 2016
  1. Let mount_osxfuse load the kernel extension

    From now on mount_osxfuse is responsible for calling load_osxfuse. This
    allows us to further decouple libosxfuse from the FUSE kernel
    bfleischer committed Sep 18, 2016
Commits on Sep 10, 2016
Commits on Sep 9, 2016
  1. Remove deprecated non-portable functions

    * fuse_os_version_major_np()
    * fuse_device_fd_np()
    * fuse_mountpoint_for_fs_np()
    bfleischer committed Sep 9, 2016
Commits on Sep 7, 2016
Commits on Aug 22, 2016
  1. Let mount_osxfuse create mount point

    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
    mount_osxfuse will create non-existent mount points.
    bfleischer committed Aug 21, 2016
  2. Deprecate non-portable functions

    * fuse_os_version_major_np()
    * fuse_device_fd_np()
    * fuse_mountpoint_for_fs_np()
    bfleischer committed Aug 22, 2016
Commits on Aug 21, 2016
  1. Fix indentation

    bfleischer committed Aug 21, 2016
Commits on Aug 8, 2016
Commits on Jul 25, 2016
  1. Merge tag 'fuse-2.9.7' into support/osxfuse-3

    Tagged release
    bfleischer committed Jul 25, 2016
Commits on Jul 24, 2016
Commits on Jul 17, 2016
Commits on Jun 20, 2016
  1. Released 2.9.7.

    Nikratio committed Jun 20, 2016
  2. libfuse/fuse_daemonize: wait until daemon child process is ready (#55)

    Mounting a FUSE file system remotely using SSH in combination with
    pseudo-terminal allocation (-t), results in "Transport endpoint is
    not connected" errors when trying to access the file system contents.
    For example:
      # ssh -t root@localhost  "cmsfs-fuse /dev/disk/by-path/ccw-0.0.0190 /CMSFS"
      Connection to localhost closed.
      # ls /CMSFS
      ls: cannot access '/CMSFS': Transport endpoint is not connected
    The cmsfs-fuse main program (which can also be any other FUSE file
    system) calls into the fuse_main() libfuse library function.
    The fuse_main() function later calls fuse_daemonize() to fork the
    daemon process to handle the FUSE file system I/O.
    The fuse_daemonize() function calls fork() as usual.  The child
    proceeds with setsid() and then redirecting its file descriptors
    to /dev/null etc.  The parent process, simply exits.
    The child's functions and the parent's exit creates a subtle race.
    This is seen with an SSH connection.  The SSH command above calls
    cmsfs-fuse on an allocated pseudo-terminal device (-t option).
    If the parent exits, SSH receives the command completion and closes
    the connection, that means, it closes the master side of the
    pseudo-terminal.  This causes a HUP signal being sent to the process
    group on the pseudo-terminal.  At this point in time, the child might
    not have completed the setsid() call and, hence, becomes terminated.
    Note that fuse daemon sets up its signal handlers after fuse_daemonize()
    has completed.
    Even if the child has the chance to disassociate from its parent process
    group to become it's own process group with setsid(), the child still
    has the pseudo-terminal opened as stdin, stdout, and stderr.  So the
    pseudo-terminal still behave as controlling terminal and might cause a
    SIGHUP at closing the the master side.
    To solve the problem, the parent has to wait until the child (the fuse
    daemon process) has completed its processing, that means, has become
    its own process group with setsid() and closed any file descriptors
    pointing to the pseudo-terminal.
    Closes: #27
    Reported-by: Ofer Baruch <>
    Reviewed-by: Gerald Schaefer <>
    Signed-off-by: Hendrik Brueckner <>
    hbrueckner committed with Nikratio Jun 20, 2016
  3. libfuse: pass security context options to kernel

    Mount can be used with an "-o context=" option in order to specify a
    mountpoint-wide SELinux security context different from the default context
    provided by the active SELinux policy.
    This is useful in order to enable users to mount multiple sshfs targets under
    distinct contexts, which is my main motivation for getting this patch mainlined.
    Closes: #36
    Dalvik Khertel committed with Nikratio Aug 9, 2012
Commits on Jun 16, 2016
Commits on Jun 13, 2016
Commits on Jun 5, 2016
  1. Fix ambigious condition

    Fixes #42.
    Nikratio committed Jun 5, 2016
Commits on May 22, 2016
Commits on May 8, 2016
  1. Update mount_osxfuse environment variables

    * Remove unused MOUNT_FUSEFS_SAFE
    bfleischer committed May 5, 2016
Commits on May 5, 2016