Permalink
Commits on Oct 10, 2011
  1. Introduce --release flag

    When a module is built for final distribution it is called with --release flag.
    When this flag is enabled a module usually do stuff like purge local changes
    and set correct build flags.
    
    Remove hardcoded SDK dependency from XCode files. XCode should use the default one.
    When we build module for distribution we just set target SDK via command line arguments.
    anatol committed Oct 10, 2011
Commits on Oct 6, 2011
  1. Remove unused init_timeout field

    Init is non-blocking operation now
    anatol committed Sep 27, 2011
  2. Set correct copyright

    anatol committed Sep 23, 2011
Commits on Sep 23, 2011
  1. Replace daemon() function with fork()

    daemon() is a BSD-ism. Although it is available on many platforms
    it is not a standard function. Some platforms (e.g. MacOSX) deprecated
    it.
    
    It is safer just to use fork() function that is a part of POSIX.
    anatol committed Sep 2, 2011
  2. Separate build flags needed for final distribution

    Move flags needed for final distribution (e.g. multiple architectures)
    to build.rb file.
    
    This lets package managers (macports and homebrew) do not change ./configure.in file
    during build time. In this case default settings will be used.
    anatol committed Sep 21, 2011
  3. Fix typo

    anatol committed Sep 19, 2011
  4. Use semaphores based on GNU Hurd implementation

    MacOSX does not provide implementation for unnamed semaphores, so
    we use one based on GNU Hurd implementation (using pthreads).
    anatol committed Sep 15, 2011
  5. Reduce delta with upstream code

    anatol committed Sep 15, 2011
Commits on Sep 15, 2011
  1. Check whether waitpid was interrupted

    If errno is EINTR we should continue waiting for process termination
    anatol committed Sep 15, 2011
  2. Merge commit 'fuse_2_8_6'

    anatol committed Sep 15, 2011
Commits on Sep 13, 2011
  1. Released 2.8.6 (really now)

    Miklos Szeredi committed Sep 13, 2011
  2. Don't ignore --disable-mtab

    If configured with --disable-mtab then don't call mount(8) from
    libfuse to update the mtab.
    
    Reported by: James Sierp
    Miklos Szeredi committed Aug 31, 2011
Commits on Sep 12, 2011
Commits on Sep 6, 2011
  1. Remove hardcoded path to 10.6 SDK

    A user might use other version of SDK or install SDK to different path
    anatol committed Sep 6, 2011
  2. Use default compiler

    Using clang causes problems where clang is not installed (macosx 10.5)
    anatol committed Sep 6, 2011
Commits on Aug 21, 2011
Commits on Aug 17, 2011
Commits on Aug 11, 2011
  1. Bump version from 0.8.9 to 0.8.10

    anatol committed Aug 11, 2011
Commits on Aug 4, 2011
  1. Add an ioctl() for killing fuse device

    In XNU (opposite to Linux kernel) close() syscall cannot call our device _close function until there are any in-fligh
    requests to the device.
    And in case if we run fuse_loop() in a separate thread and call fuse_exit/fuse_unmount in the main one we have a deadlock.
    fuse_loop blocked on read() and waits for either a filesystem request or when filesystem become dead, and
    close() cannot mark the filesystem dead until read() is finished. Here is the deadlock stacktrace:
    close syscall is blocked in kernel:
      msleep (in mach_kernel) + 157 (0x49149d)
      fileproc_drain (in mach_kernel) + 169 (0x4737e2)
      fdrelse (in mach_kernel) + 282 (0x475945)
      close_nocancel (in mach_kernel) + 141 (0x475a39)
      unix_syscall64 (in mach_kernel) + 617 (0x4f82fb)
      lo64_unix_scall (in mach_kernel) + 77 (0x2a251d)
    fuse_session_loop/read() is blocked in:
      msleep()
      fuse_device_read()
    
    This deadlock can be destroyed by a filesystem request - read() syscall wakeups, returns to the userspace and at this time
    close() finally marks the filesystem as dead.
    
    The solution is to use the fuse device ioctl() to mark filesystem as dead, read() wakeups at this time and never blocks again.
    anatol committed Aug 4, 2011
  2. Add 'reverse' flags.

    anatol committed Aug 3, 2011
Commits on Jul 26, 2011
  1. Bump version from 0.8.8 to 0.8.9

    anatol committed Jul 26, 2011
Commits on Jul 25, 2011
  1. Fix device name

    anatol committed Jul 20, 2011
Commits on Jul 19, 2011
  1. Bump version from 0.8.7 to 0.8.8

    anatol committed Jul 19, 2011
Commits on Jul 16, 2011
  1. Backport fuse to OSX 10.5

    anatol committed Jul 13, 2011
Commits on Jul 8, 2011
Commits on Jul 5, 2011
  1. 'Kill on unmount' mount option

    anatol committed Jul 5, 2011
  2. Add load_fuse4x program back

    Loading a kext requires admin priveleges, unless OSBundleAllowUserLoad
    kext property is set to true.
    
    In macfuse the load is done using a binary with setuid bit set. It is
    a hackish way I tried to avoid in fuse4x.
    
    Unfortunately we need to restore the setuid-bit binary, because:
      - OSBundleAllowUserLoad is a 10.6 specific thing. We want to restore 10.5 compatibility back.
      - setting fuse_admin group using sysctl also requires admin priveleges.
    anatol committed Jul 1, 2011
  3. Add examples to gitignore

    anatol committed Jul 1, 2011
  4. Fix compile warnings

    anatol committed Jun 30, 2011