Permalink
Commits on Sep 11, 2013
  1. Only define out fuse_main_mt when librefuse is used.

    demonfoo committed Sep 11, 2013
    Librefuse still doesn't have a fuse_main_mt() entry point, but libfuse
    when coupled with Perfuse does.
  2. Update change list.

    demonfoo committed Sep 11, 2013
Commits on Sep 10, 2013
  1. Merge pull request #14 from dpavlin/demon-fuse2.9

    demonfoo committed Sep 10, 2013
    Merge demon-fuse2.9 branch
  2. Clean up Changes, and expand info on what was changed.

    demonfoo committed Sep 10, 2013
    Small tweak to README.
  3. Updates to README.

    demonfoo committed Sep 10, 2013
Commits on Sep 8, 2013
  1. Use fuse_buf_* convenience functions for non-contiguous or FD buffers.

    demonfoo committed Sep 8, 2013
    Use heredoc instead of quoted text for about, and improve output.
Commits on Sep 7, 2013
  1. Fix up fuse_buf_copy() wrapper.

    demonfoo committed Sep 7, 2013
    The 'mem' member in the destination element should only be updated if
    that element is a memory buffer, not an FD buffer.
Commits on Sep 6, 2013
Commits on Sep 5, 2013
  1. Documentation updates.

    demonfoo committed Sep 5, 2013
  2. Implemented fuse_buf_copy().

    demonfoo committed Sep 5, 2013
    Cast buf as (char *) to prevent a warning in the write() wrapper.
    
    Handle positive returns properly in read_buf(). Returning 0 seems to
    work okay, but we're supposed to return the total read size.
    
    An extra little bit for the changelog.
Commits on Sep 4, 2013
  1. Enable a potentially zero-copy read path.

    demonfoo committed Sep 4, 2013
    Instead of using newSVpvn(), make an SV around the passed buffer, so we
    can skip unnecessary data copying. This makes the write buffer SV read-only.
    The only possible problem is if the write() implementation tries to hang
    onto the SV; I'm thinking about making a "zerocopy" option flag and using
    this path only when that option is enabled.
  2. Document write_buf.

    demonfoo committed Sep 4, 2013
    Fix up read_buf docs.
    
    Change order of arguments for write_buf, to make it more consistent
    with read_buf.
    
    Fix up loopback.pl to use the new argument order for write_buf.
  3. Implemented write_buf() wrapper. Still needs fuse_buf_copy().

    demonfoo committed Sep 4, 2013
    Made alterations to read_buf() wrapper to use an array, instead of a
    single item, to accommodate different strategies.
    
    Altered loopback.pl to support write_buf, and to use the modified
    read_buf semantics.
    
    Also changed open() use in daemonize() inside loopback.pl to 3-operand
    calling syntax, because it's just the right thing to do.
Commits on Sep 3, 2013
  1. Change Fuse::main() unknown function handling path.

    demonfoo committed Sep 3, 2013
    If a handler function with a name that isn't known is supplied to
    Fuse::main(), instead of croak, use carp. There are legitimate situations
    where a function (like one of the FUSE 2.8/2.9 specific ops) is passed,
    but isn't available due to the underlying libfuse being too old to use
    them, so they're just not available, and it's better to whine but not
    die over them.
  2. Document 'read_buf' operation.

    demonfoo committed Sep 3, 2013
    Added accessors for the FUSE_BUF_* constants, and exported them under the
    'zerocopy' and 'all' tags.
    
    Removed unnecessary detritus from the read_buf() wrapper.
  3. Documented 'nopath' and 'utime_omit_ok' flags.

    demonfoo committed Sep 3, 2013
    Exported UTIME_NOW and UTIME_OMIT under 'ALL' and 'utime' tags.
    
    Implemented read_buf() operation, and added an implementation in
    example/loopback.pl. Only tested with memory, not with FD based
    mode.
    
    Fixed fallocate() wrapper to use the correct callback number.
    
    Altered testing infrastructure to pass logfile name to loopback.pl, and
    have it open the logfile, instead of trying to open it in test/s/mount.t,
    as since loopback.pl's daemonize() reopens stdout/stderr only /dev/null
    normally, the logfile is worthless. This makes it functional again.
Commits on Sep 2, 2013
  1. Incorporate FUSE 2.9 feature support.

    demonfoo committed Sep 2, 2013
    Since the FUSE includes don't have a define for the micro version number,
    and the 'fallocate' operation is new as of FUSE 2.9.1, add a bit to the
    Makefile.PL to split up the version number into major, minor and micro
    numbers and add -D defines for the build to pass them in.
    
    Altered fuse_version() to provide separate major/minor/micro version
    numbers if called in array context.
    
    Added support for fallocate() and flock(). Also stubbed out read_buf()
    and write_buf().
    
    Added support for the 'nopath' and 'utime_omit_ok' flags. Also, added
    implementations to access the UTIME_NOW and UTIME_OMIT constants.
    
    Added basic docs for fallocate() and flock().
    
    Added change note to Changes file.
  2. Fix tabbing on lines added recently.

    demonfoo committed Sep 2, 2013
    Use SP directly instead of &TOPs.
    
    Describe the fix I made in the Changes file.
Commits on Aug 31, 2013
Commits on May 8, 2013
  1. Merge pull request #13 from isync/master

    dpavlin committed May 8, 2013
    Tweaks on loopback.pl example
Commits on Jan 28, 2013
  1. Update examples/readdir.pl

    isync committed Jan 28, 2013
    $file already sanitized in filename_fixup, right?
  2. Update examples/loopback.pl

    isync committed Jan 28, 2013
    Unix::Mknod might not be available or might not work - same as for Lchown. Graceful fallback. Is "POSIX::errno();" the right error code?
Commits on Jan 27, 2013
  1. Update examples/loopback.pl

    isync committed Jan 27, 2013
    I might misunderstand usage, but I think, without a path in @ARGV, the script should spit out some usage info, so a user doesn't have to dig into the code for a quick test-drive.