Derrik Pates [Mon, 1 Aug 2011 16:36:33 +0000 (10:36 -0600)]
Merge branch 'master' of github.com:dpavlin/perl-fuse
Derrik Pates [Mon, 1 Aug 2011 16:33:27 +0000 (10:33 -0600)]
Replace system() calls for 'touch' and friends with Perl ops for same.
If we don't need specific command functionality, we should use Perl calls
to effect the desired result. That way, we depend less on command specific
functionality, and invite less opportunity for platform-specific command
options giving us trouble.
Dobrica Pavlinusic [Mon, 1 Aug 2011 15:45:06 +0000 (17:45 +0200)]
bump version to 0.14
Derrik Pates [Sun, 31 Jul 2011 03:48:57 +0000 (21:48 -0600)]
Change mknod test to use Unix::Mknod and POSIX::mkfifo().
Instead of using system() to call executables (and depend on mknod
and mkfifo command syntax), use Unix::Mknod's mknod() function
and POSIX's mkfifo() function to make device and named pipe nodes,
and use Unix::Mknod's makedev() to combine major/minor numbers
appropriately instead of depending on knowing (or guessing)
the shift distance for the device major number.
Derrik Pates [Fri, 29 Jul 2011 19:39:00 +0000 (13:39 -0600)]
Additional Changes item.
Derrik Pates [Fri, 29 Jul 2011 19:25:51 +0000 (13:25 -0600)]
Okay, seems the #defines are *not* necessary for 5.8.9, but this is...
Derrik Pates [Fri, 29 Jul 2011 19:12:50 +0000 (13:12 -0600)]
Perl 5.8.9 worked before this update; 5.8.8 did not. Account for that.
Derrik Pates [Fri, 29 Jul 2011 18:52:14 +0000 (12:52 -0600)]
Decrease the file size used in getattr.t by a factor of 1024.
This issue has caused the getattr test to take... well, hours on my
MacBook. This is because the kernel is busy allocating disk pages for
all the empty space prior to the space character that's put into the
file, because the HFS+ filesystem doesn't support sparse files.
Derrik Pates [Fri, 29 Jul 2011 18:39:55 +0000 (12:39 -0600)]
README update, and use full path to mount when checking mounted FSes.
Derrik Pates [Fri, 29 Jul 2011 17:49:45 +0000 (11:49 -0600)]
Summary of 0.14 candidate changes.
Derrik Pates [Fri, 29 Jul 2011 17:28:20 +0000 (11:28 -0600)]
On Perl 5.8, lchown() sometimes ends up with leaked errno; declare $! local.
Derrik Pates [Fri, 29 Jul 2011 17:17:15 +0000 (11:17 -0600)]
On Perl 5.8, importing Unix::Mknod doesn't import symbols by default.
Derrik Pates [Fri, 29 Jul 2011 16:53:27 +0000 (10:53 -0600)]
Replace all tests that require knowing syscall numbers.
Since tests that need syscall.pm or sys/syscall.pm, et al., always
fail on the CPAN testing systems for one of several reasons (causing
"make test" to fail because loopback.pl can't even create plain
files without it), I'm adopting the *BSD arrangement for handling
mknod() in loopback.pl, and using the Lchown module to do lchown()
instead of trying to lookup a syscall number for it. Also changed
the statfs test to do the same, as I'd already written code to
use Filesys::Statvfs instead of trying to track down the
statfs/statvfs/statvfs1 syscall number, and worry about packing
the arguments the right way. Also changed Makefile.PL to provide
per-platform explanations of what to install for FUSE support, and
moved the "-g -ggdb" options into the OPTIMIZE parameter to
WriteMakefile(). Also made a note of testing against CentOS 5.6,
due to its use of Perl 5.8, as opposed to everything else I'd
tested against prior.
Derrik Pates [Sat, 23 Jul 2011 03:07:34 +0000 (21:07 -0600)]
Changed clone_params_{new,del} to Perl_clone_params_{new,del}.
Referenced the sources for Perl 5.13.2 and Perl 5.14.1; seems both use
this function name syntax, with no #define aliases to the prior-used
naming conventions. Not sure what up there.
Derrik Pates [Sat, 23 Jul 2011 02:10:14 +0000 (20:10 -0600)]
Merge branch 'master' of github.com:dpavlin/perl-fuse
Derrik Pates [Sat, 23 Jul 2011 02:09:18 +0000 (20:09 -0600)]
Changes to improve compatibility with Perl 5.8.
Dobrica Pavlinusic [Mon, 4 Jul 2011 08:05:55 +0000 (10:05 +0200)]
Merge branch 'master' of github.com:dpavlin/perl-fuse
Derrik Pates [Sun, 3 Jul 2011 18:07:59 +0000 (12:07 -0600)]
Various changes to tests and Makefile.
Merged all loopback scripts into a single variant; now threads are
enabled by passing --use-threads to loopback.pl instead of having a
separate script variant, and use of Filesys::Statvfs instead of
bogus filler statfs() data is enabled with --use-real-statfs. Also,
loopback now fork()s itself away into a daemon, rather than depending
on external infrastructure to do it; --pidfile can be passed to create
a PID file.
Altered test/helper.pm and test/s/mount.t to use new loopback.pl semantics.
Altered test/statfs.t to optionally use Filesys::Statvfs's statvfs()
instead of raw syscalls and pack masks, if the option is available
to us. If not available, it will try to use syscalls instead.
Cleanups to Makefile to put different options where they belong,
rather than e.g., abusing the 'OBJECT' list to specify libraries
and such. Works with all platforms.
Updates to README and MANIFEST.
Dobrica Pavlinusic [Sun, 3 Jul 2011 17:56:23 +0000 (19:56 +0200)]
0.13 release with FreeBSD, NetBSD and OS X support
Derrik Pates [Wed, 29 Jun 2011 01:08:27 +0000 (19:08 -0600)]
Make the code work without USE_ITHREADS. FreeBSD's default Perl build
doesn't enable threads (it can be enabled), so let's try to be a bit
more accepting.
Derrik Pates [Tue, 28 Jun 2011 02:12:57 +0000 (20:12 -0600)]
Merge branch 'master' of github.com:dpavlin/perl-fuse
Derrik Pates [Tue, 28 Jun 2011 01:56:58 +0000 (19:56 -0600)]
NetBSD 5.1, not 5.0.
Derrik Pates [Tue, 28 Jun 2011 01:04:18 +0000 (19:04 -0600)]
NetBSD 5.1, not 5.0.
Derrik Pates [Fri, 24 Jun 2011 17:37:25 +0000 (11:37 -0600)]
Updates to README.
Derrik Pates [Fri, 24 Jun 2011 16:55:43 +0000 (10:55 -0600)]
Small pack mask change for 32-bit Linux compatibility.
Derrik Pates [Fri, 24 Jun 2011 16:28:26 +0000 (10:28 -0600)]
Changes to statfs.t to work better with 32-bit versions of NetBSD.
Derrik Pates [Fri, 24 Jun 2011 13:36:53 +0000 (07:36 -0600)]
Multiple changes for better *BSD compatibility, including:
- For OS X/Darwin, use alternate function argument lists that add an
extra parameter for the setxattr() and getxattr() call wrappers. This
eliminates some compile-time warnings, and makes sure the call stack
isn't getting unbalanced when those calls are made.
- For OS X/Darwin, force the use of -lfuse_ino64 on OS X 10.6 (Snow
Leopard); FUSE filesystems won't work at all otherwise due to changes
in the inode structure definition, and the pkgconfig files don't check
for this.
- For OS X/Darwin, don't set the PERL_DL_NONLAZY=1 environment variable
during "make test"; MacFuse builds their libfuse with a reference to
_iconv, but doesn't link in -liconv at build time, and due to
differences in their dynamic linker, linking -liconv into our library
doesn't get that symbol into its namespace, so tests fail completely
on OS X due to the unsatisfied link symbol when RTLD_NOW is passed to
dlopen().
- Enabled alternate mknod handling for NetBSD and OS X/Darwin in
addition to FreeBSD in the example code.
- Synchronized all changes (except enabling threading) from
examples/loopback_t.pl to examples/loopback.pl.
- Reenabled threading use for OS X/Darwin in tests; testing on my
MacBook running OS X 10.6.7 always passes with it enabled (though
does not with threading disabled, which probably needs some
diagnosing).
- In the mknod() test, use a different major number shift value (24
instead of 8) for OS X/Darwin.
- In the statfs() test, use sys/syscall.ph instead of syscall.ph (works
on Linux and all *BSDs, though NetBSD and OS X/Darwin perls don't h2ph
the system headers at install time).
- In the statfs() test, altered the Linux pack mask for the statfs()
syscall, added masks for FreeBSD and OS X/Darwin, and added statvfs1()
call semantics for NetBSD, so this test will work on all supported
platforms (though the FreeBSD pack mask may not work on non-64bit
FreeBSDs, need to test that).
- In the statfs() test, ignore f_namelen field for NetBSD and
OS X/Darwin. OS X/Darwin doesn't even have such a field, and NetBSD
seems to not handle it right for PUFFS filesystems.
- In the symlink() test, use 'cp -R' on NetBSD instead of 'cp -a', since
NetBSD's 'cp' doesn't know the '-a' option.
Bojan Petrovic [Tue, 24 May 2011 21:00:43 +0000 (05:00 +0800)]
Circumvent buggy negation of assigned $!.
Loopback fs fails to create a new file every other time on FreeBSD.
This happens because of a Perl bug which occurs when $! is set from Perl
(as in x_mknod()), and then negated after a failed syscall (as in
x_getattr()). See http://www.perlmonks.org/?node_id=906466.
Bojan Petrovic [Sat, 21 May 2011 20:17:06 +0000 (04:17 +0800)]
Handle pipe creation in mknod() on FreeBSD.
Additional special case is introduced in mknod() callback for the test
loopback fs. Pipes on FreeBSD are created through POSIX::mkfifo,
although they could be created by "mkfifo" command or syscall. In the
"test/mknod.t", initial named pipe is now created by executing "mkfifo".
Derrik Pates [Sat, 21 May 2011 19:09:53 +0000 (12:09 -0700)]
Merge pull request #7 from ALPHA-60/master
FreeBSD fixes
Derrik Pates [Sat, 21 May 2011 18:53:41 +0000 (12:53 -0600)]
When testing, check if '/proc/mounts' exists. (by Bojan Petrovic)
On FreeBSD, even if procfs is mounted under '/proc', there is no
'/proc/mounts' file. Instead on relying on the existence of '/proc'
directory, we check if the '/proc/mounts' file exists. Otherwise, tests
cannot even start on FreeBSD.
Bojan Petrovic [Sat, 21 May 2011 18:31:40 +0000 (20:31 +0200)]
Merge remote-tracking branch 'dpavlin/master'
Conflicts:
Fuse.xs
Derrik Pates [Sat, 21 May 2011 18:07:15 +0000 (12:07 -0600)]
Handle mknod() differently when running FreeBSD, as its mknod syscall doesn't
create plain files at all.
Derrik Pates [Sat, 21 May 2011 17:20:53 +0000 (11:20 -0600)]
For FreeBSD and NetBSD, define XATTR_{CREATE,REPLACE}, since there is no
<sys/xattr.h> for us to use to reference the values.
Bojan Petrovic [Sat, 21 May 2011 08:47:50 +0000 (10:47 +0200)]
When testing, check if '/proc/mounts' exists.
On FreeBSD, even if procfs is mounted under '/proc', there is no
'/proc/mounts' file. Instead on relying on the existence of '/proc'
directory, we check if the '/proc/mounts' file exists. Otherwise, tests
cannot even start on FreeBSD.
Bojan Petrovic [Sat, 21 May 2011 08:42:44 +0000 (10:42 +0200)]
Do not include 'xattr.h' on FreeBSD.
The build will break if this file is included, or if XATTR_CREATE
and XATTR_REPLACE constants are used.
Dobrica Pavlinusic [Fri, 20 May 2011 13:38:44 +0000 (15:38 +0200)]
document changes for version 0.12
Derrik Pates [Thu, 19 May 2011 19:42:49 +0000 (13:42 -0600)]
Check that the option string is not an empty string. If it is, don't add
"-o" and an empty mountopts to the argument list.
Derrik Pates [Thu, 19 May 2011 18:52:02 +0000 (12:52 -0600)]
Screwed up parentheses balance with last commit. Oops. Fixed.
Derrik Pates [Thu, 19 May 2011 18:07:35 +0000 (12:07 -0600)]
Found an error message that was using the old offset value; fixed to
use the new, correct one.
Derrik Pates [Thu, 19 May 2011 18:02:40 +0000 (12:02 -0600)]
Make sure the first element in the args list is an empty string always;
didn't think about the fact that if no "mountopts" is given, but "debug"
is true, there won't be one.
Derrik Pates [Thu, 19 May 2011 17:10:09 +0000 (11:10 -0600)]
Update the readdir example to use the new syntax, so it'll actually work.
Derrik Pates [Thu, 19 May 2011 16:41:49 +0000 (10:41 -0600)]
Remove inclusion of Data::Dumper. Remove incorrect duplicate documentation
for readdir().
Derrik Pates [Thu, 19 May 2011 15:08:48 +0000 (09:08 -0600)]
Move XATTR_{CREATE,REPLACE} into the XS code, so we can get the
definitions of the constants from sys/xattr.h instead of setting them
to arbitrary platform-specific constant values.
Derrik Pates [Thu, 19 May 2011 15:02:23 +0000 (09:02 -0600)]
Remove a couple of unnecessary '#if FUSE_VERSION >= 24' blocks in the
_PLfuse_create implementation. If the create() wrapper is supported
(as of FUSE 2.5), we know those lines necessarily have to work, so
the conditional is pointless.
Derrik Pates [Thu, 19 May 2011 06:29:04 +0000 (00:29 -0600)]
Align groups of hv_{fetch,store} calls. Compare to NULL, instead of assuming
NULL is 0 (most arches it is, but it's not necessary a universal constant).
Also make the hash building code in _PLfuse_create() consistent with
the code in _PLfuse_open().
Derrik Pates [Wed, 18 May 2011 17:57:29 +0000 (11:57 -0600)]
Assorted minor cleanups. Restore 'symlink' fops member. Better handle
NULL file arguments for functions that can operate on file/directory
handles.
Derrik Pates [Wed, 18 May 2011 17:20:35 +0000 (11:20 -0600)]
Add return checking to several asprintf()s used for non 64-bit
architectures. Also, abbreviate several unnecessary 4-line 'if (rv) ...'
blocks to a single line with a ternary operator, as it's cleaner and
(IMO) easier to read.
Derrik Pates [Wed, 18 May 2011 17:13:54 +0000 (11:13 -0600)]
Void cast some hv_store calls to get rid of warnings.
Derrik Pates [Wed, 18 May 2011 17:10:58 +0000 (11:10 -0600)]
Export the 'private_data' member of the fuse_context struct as
'private', if any is set (via the init() function). Also, export the
'umask' member if built against FUSE 2.8 or later.
Derrik Pates [Wed, 18 May 2011 17:03:42 +0000 (11:03 -0600)]
Implement additional FUSE operations.
Implement all of the following:
- opendir
- releasedir
- fsyncdir
- init
- destroy
- access
- create
- ftruncate
- fgetattr
- lock
- utimens
- bmap
Also replace the deficient readdir() operation with my own, which
allows for significantly greater efficiency, and supports directory
handles (as can be returned from opendir()). Also also, instead of
using static initialization of fields to zero out the fops structure,
call memset() in the INIT block of perl_fuse_main().
Derrik Pates [Wed, 18 May 2011 16:39:59 +0000 (10:39 -0600)]
Fold margs and fargs together into args; this fixes the handling of
the '-o big_writes' mount option, which previously did not work
at all.
Derrik Pates [Wed, 18 May 2011 15:58:51 +0000 (09:58 -0600)]
Handle getdir entries in order passed. Currently they are handed to the
filler call in reverse order; this is kind of a pain in the butt.
Derrik Pates [Wed, 18 May 2011 15:53:28 +0000 (09:53 -0600)]
Added support for 'nullpath_ok' option to fuse_main().
Derrik Pates [Wed, 18 May 2011 15:45:45 +0000 (09:45 -0600)]
Add the fuse_version() static method. This is the basis of version
checking required for later changes.
Daniel Frett [Mon, 28 Feb 2011 19:47:28 +0000 (14:47 -0500)]
a couple more file handle bugfixes
-only run mg_find for SV's of type SVt_PVMG per "if the SV is not of type SVt_PVMG, Perl may core dump." under Finding Magic in perlguts
-hv_store_ent returns NULL when storing an SV to an HV with tie magic, such as when the HV is utilizing threads::shared
Daniel Frett [Sat, 26 Feb 2011 18:15:11 +0000 (13:15 -0500)]
a couple file handle bugfixes
-make sure to adjust the refcount when storing a file handle
-use the set/get magic macros instead of the underlying functions
Daniel Frett [Sat, 26 Feb 2011 18:14:15 +0000 (13:14 -0500)]
flags are the 3rd parameter, not the 4th for hv_delete_ent
Dobrica Pavlinusic [Fri, 25 Feb 2011 18:54:36 +0000 (19:54 +0100)]
cleanup example
Dobrica Pavlinusic [Fri, 25 Feb 2011 18:52:50 +0000 (19:52 +0100)]
document readdir
Dobrica Pavlinusic [Fri, 25 Feb 2011 18:21:59 +0000 (19:21 +0100)]
close RT #55953 - readdir
Dobrica Pavlinusic [Fri, 25 Feb 2011 18:19:19 +0000 (19:19 +0100)]
Merge branch 'frett-readdir'
Daniel Frett [Fri, 25 Feb 2011 16:44:45 +0000 (11:44 -0500)]
added build files to the .gitignore file
Daniel Frett [Fri, 25 Feb 2011 05:04:25 +0000 (00:04 -0500)]
Merge branch 'rt-55953-readdir' into master
Conflicts:
AUTHORS
Fuse.xs
Alex Sudakov [Thu, 24 Feb 2011 22:08:35 +0000 (23:08 +0100)]
RT#55953 added readdir implementation
Daniel Frett [Wed, 16 Feb 2011 03:35:59 +0000 (03:35 +0000)]
reduce code duplication in the CLONE method and make sure to dup the handles object when CLONEing
Daniel Frett [Tue, 15 Feb 2011 22:03:48 +0000 (22:03 +0000)]
fixed thread cloning in <= perl5.10.0
the pointer table used in cloning was destroyed before calling CLONE methods in <= perl5.10.0
Daniel Frett [Tue, 15 Feb 2011 19:32:04 +0000 (19:32 +0000)]
remove usage of MUTABLE_SV and MUTABLE_HV for older versions of perl
Daniel Frett [Tue, 15 Feb 2011 18:16:05 +0000 (13:16 -0500)]
make open file handles thread-safe. Fixes RT #57517 when using threads.
Daniel Frett [Tue, 15 Feb 2011 16:56:16 +0000 (11:56 -0500)]
not having a supported threads model shouldn't be fatal, fallback to non-threaded mode instead
Daniel Frett [Tue, 15 Feb 2011 16:48:12 +0000 (11:48 -0500)]
need to define the context when not building threaded model
Dobrica Pavlinusic [Tue, 15 Feb 2011 12:47:42 +0000 (13:47 +0100)]
document Daniel Frett tread-safe callback contribution and bump version to 0.11
Dobrica Pavlinusic [Tue, 15 Feb 2011 12:42:40 +0000 (13:42 +0100)]
credit Derrik with 64-bit changes
Daniel Frett [Mon, 14 Feb 2011 21:25:44 +0000 (16:25 -0500)]
updated Fuse binding to utilize thread-safe static data
This fixes RT #34284
Dobrica Pavlinusic [Mon, 17 Jan 2011 19:29:15 +0000 (20:29 +0100)]
document changes in 0.10_1
Dobrica Pavlinusic [Mon, 17 Jan 2011 19:26:27 +0000 (20:26 +0100)]
bump version to 0.10_1
Dobrica Pavlinusic [Mon, 17 Jan 2011 19:24:51 +0000 (20:24 +0100)]
Merge remote branch 'remotes/origin/64-bit'
Derrik Pates [Thu, 9 Dec 2010 21:26:18 +0000 (22:26 +0100)]
64-bit support, 2.6 binding
I am (somewhat indirectly, now) using the Fuse package, which you maintain,
as the basis for a set of Perl modules I've written to mount AFP filesystems
via Fuse. I actually have made a few changes to the copy I run, to address
the following issues:
- On NetBSD, the Fuse package won't build out of the box against NetBSD's
ReFUSE implementation; I have a few changes that make it work (all except
extended attributes, which apparently PUFFS/ReFUSE doesn't yet handle).
- On FreeBSD and NetBSD, the version 2.6 binding profile works better, so
I've altered the code slightly to use it; it works on Linux and OS X as
well.
- On most 32-bit Linux distributions (and NetBSD/FreeBSD), Perl is not built
with 64-bit integer support, thus breaking access to large files (> 2 ** 31
- 1 bytes long). I've added a sort-of-hackish workaround for Perl builds
without $Config{'use64bitint'} to get large files handled sanely.
- Added a few extra option names that aren't included in the @validOpts list
by default.
If you're interested in my code, check out
http://svn.now.ai/listing.php?repname=afp-perl to see the repository, or
http://svn.now.ai/svn/afp-perl/ for SVN checkout access.
--
Derrik Pates
demon@now.ai
Dobrica Pavlinusic [Mon, 23 Aug 2010 17:01:34 +0000 (19:01 +0200)]
fix permissions
Artur [Wed, 19 May 2010 09:05:39 +0000 (17:05 +0800)]
there are plenty, some os specific, valid opts, so just don't bother checking for them
Dobrica Pavlinusic [Sun, 16 May 2010 16:58:34 +0000 (18:58 +0200)]
bump version [0.09_4] and document it
Dobrica Pavlinusic [Sun, 16 May 2010 16:45:31 +0000 (18:45 +0200)]
Merge branch 'rt-57517-file-handles'
Justin Fletcher [Sun, 16 May 2010 16:25:07 +0000 (18:25 +0200)]
Addition of file handles on open files
Sat May 15 16:36:47 2010: Request 57517 was acted upon.
Transaction: Ticket created by gerph
Queue: Fuse
Subject: Addition of file handles on open files
Broken in: 0.09_3
Severity: (no value)
Owner: Nobody
Requestors: gerph@gerph.org
Status: new
Ticket <URL: https://rt.cpan.org/Ticket/Display.html?id=57517 >
Hiya,
Whilst trying to write a filesystem using the Fuse module, I found it
surprising that there were no 'file handles' available when you opened
a file. The only way you can know what file was referenced is by its
name, which is not useful if your filesystem is intended to return
different results for each file opened. It turned out in my case to not
matter, but consider a FS which returned a different story every time
you opened it. Or, more practically, a FS which returned the contents
of the latest checked in file - and whilst you were operating on the
file the latest checked in file changed. There are ways around this -
files becoming invariant whilst it has any open instances of itself or
similar - but these are not ideal.
The way that Fuse appears to do this is that the filesystem updates a
property ('fh') in the fuse_file_info structure on open, to contain the
context for the opened file. I've put together a change which allows
you to return a second parameter from open containing this value, which
is then passed to all the functions which operate on open files (read,
write, flush, release). Because we're retaining a reference to the SV
that was returned (and is otherwise unused in the perl) we also
increment the refcount on open, and decrement it on release - I think
that's all that's necessary to prevent a leak, but I've never done any
XS work before this so I can't be certain.
I'd expect that under normal circumstances you'd open a file, set up a
hashref containing properties for the file that you've opened and use
'return (0, $handle);' to return it. If you don't return a handle, the
old behaviour remains - undef will be passed to the implementation in
place of the handle (which the implementation wasn't expecting so won't
care about).
In addition, I've also added the ability to set the 'direct_io',
'keepcache' and 'nonseekable' properties by changing a hashref which is
passed to the 'open' call.
The archive I've attached contains the Fuse.pm and Fuse.xs files in
their entirity, together with the diffs from 0.09_3. There is also a
rudimentary example FS, based on the example one in the Fuse
distribution, which shows the file handle to be working. It seems to be
working in my more complex MythTV filesystem that I'm still trying to
make useful.
I couldn't actually test the nonseekable property as the fuse I have
seems to be 2.4, so I don't have that property available to me here -
I've just followed what the documentation says should be available.
I've not added anything to the tests, because I'm not sure how to do
that really, but I hope that the change to add the file handles is
useful.
Dobrica Pavlinusic [Tue, 11 May 2010 17:33:20 +0000 (19:33 +0200)]
remove version number
Dobrica Pavlinusic [Mon, 10 May 2010 18:16:05 +0000 (20:16 +0200)]
Merge branch 'master' of github.com:dpavlin/perl-fuse
Dobrica Pavlinusic [Mon, 10 May 2010 17:58:02 +0000 (19:58 +0200)]
added META pointers to repository and bugtracker
Dobrica Pavlinusic [Mon, 10 May 2010 17:58:02 +0000 (19:58 +0200)]
added META pointers to repository and bugracker
Vlatko Kosturjak [Mon, 10 May 2010 17:37:35 +0000 (19:37 +0200)]
documentation fix
Dobrica Pavlinusic [Wed, 19 Mar 2008 19:40:20 +0000 (19:40 +0000)]
another try to fix files larger than 2Gb: for this we pop
float from stack since long is limited to 4Gb
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@123
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Sun, 16 Mar 2008 14:14:51 +0000 (14:14 +0000)]
cpan target to push latest verison out
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@122
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Sun, 16 Mar 2008 13:51:26 +0000 (13:51 +0000)]
update latest Changes
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@121
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Sun, 16 Mar 2008 13:40:44 +0000 (13:40 +0000)]
version bump [0.09_2]
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@120
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Sun, 16 Mar 2008 13:34:34 +0000 (13:34 +0000)]
expose and fix 2Gb file bug, RT #32639, RT #33903
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@119
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Mon, 21 Jan 2008 16:36:57 +0000 (16:36 +0000)]
fuse_get_context documentation patch from jaslong
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@118
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Mon, 7 Jan 2008 11:45:54 +0000 (11:45 +0000)]
update from Reuben Thomas: fixes a bug in mkdir (failed to tag, so newly
created dir was not visible in the filtered fs), and makes error reporting a
little better (if tag routine returns an error, that is propagated).
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@117
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Thu, 6 Dec 2007 10:58:07 +0000 (10:58 +0000)]
Added contributed filesystem described in e-mail message below:
From: Reuben Thomas <rrt@sc3d.org>
To: dpavlin@rot13.org
Subject: Contribution of sample FS to Fuse
Hi,
I'm just putting the finishing touches to an FS I wrote with Fuse, which
was invaluable, as I couldn't contemplate writing it in C (it's just not
important enough for that much pain!).
I've called it filter_attr_t.pl. It is just loopback_t.pl, augmented with a
function and a little logic so that only files that possess extended
attribute given at mount time are visible. Further, if you try to write to
a file that exists but is not tagged (and hence invisible), you get
-EEXIST, and if you try to unlink a tagged file, it is merely untagged
rather than actually unlinked.
My use for this is to use the backup program Unison, which synchronises two
directory trees, to synch my PDA and my home directory, while excluding
most of the files in my home dir (which would simply not fit in my PDA's
16Mb of file space!). I was amazed to find I couldn't see a FUSE fs which
would do this already, and I was nearly in despair when I remembered Fuse,
and, sure enough, it looked a lot easier than writing a FUSE fs in C.
Of course, the example code was also invaluable, as without it I would have
taken much longer to write the code, and I wouldn't have known some of the
traps.
So, a big thank you, and I attach the current version.
--
http://rrt.sc3d.org/ | Slow Pedestrian Crossing (Anon)
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@116
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Thu, 15 Nov 2007 09:33:07 +0000 (09:33 +0000)]
added Chris, bump version to 0.09
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@113
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Thu, 15 Nov 2007 09:32:08 +0000 (09:32 +0000)]
patch from Chris Dolan via rt.cpan.org #30631
This patch gets Fuse.pm to half-work on MacOSX with the current release
of MacFuse (v1.1.0). By half-work, I mean that all of the directory
actions and file read actions work, but anything that involves writing a
file fails. This appears to be because the latest MacFUSE implements
FUSE 2.6, which prefers to call CREATE instead of MKNOD. Nonetheless,
recommend that something like this patch be included because it makes
read-only filesystems usable on Darwin systems. Some of my changes
(like kill() instead of system("kill")) are improvements on any system.
I've tested only on my PowerPC G5 iMac running 10.4.
I intend to also try MacFUSE v0.4 via Fink, but that version is
reportedly less stable than the latest MacFUSE.
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@112
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Thu, 15 Nov 2007 09:23:22 +0000 (09:23 +0000)]
calls mount instread of cat /proc/mountpoints to make it less Linux specific
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@111
6e4b0b00-1209-0410-87b2-
b275959b5705
Dobrica Pavlinusic [Sat, 20 Jan 2007 20:27:57 +0000 (20:27 +0000)]
one more define (_FILE_OFFSET_BITS=64) on darwin
git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl-llin@110
6e4b0b00-1209-0410-87b2-
b275959b5705