This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
Log of /perl-llin/examples
Directory Listing
Revision
117 -
Directory Listing
Modified
Mon Jan 7 11:45:54 2008 UTC
(16 years, 4 months ago)
by
dpavlin
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).
Revision
116 -
Directory Listing
Modified
Thu Dec 6 10:58:07 2007 UTC
(16 years, 5 months ago)
by
dpavlin
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)
Revision
112 -
Directory Listing
Modified
Thu Nov 15 09:32:08 2007 UTC
(16 years, 6 months ago)
by
dpavlin
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.
Revision
108 -
Directory Listing
Modified
Sat Jan 20 12:21:12 2007 UTC
(17 years, 4 months ago)
by
dpavlin
Changes from Marc to implement fuse_get_context():
* an XS function to get the data
* a mention of it in Fuse.pm so it can be exported properly
* a pretty ugly hack to example.pl, which is how I tested it.
Revision
67 -
Directory Listing
Modified
Tue Jan 3 16:20:50 2006 UTC
(18 years, 4 months ago)
by
dpavlin
use Fuse from just compiled blib (again...)
Revision
30 -
Directory Listing
Modified
Mon Jan 2 23:19:28 2006 UTC
(18 years, 4 months ago)
by
dpavlin
added example filesystem which uses Filesys::Statvfs to implement statfs
Revision
25 -
Directory Listing
Modified
Mon Jan 2 22:04:31 2006 UTC
(18 years, 4 months ago)
by
dpavlin
use version just built
Revision
23 -
Directory Listing
Modified
Mon Jan 2 20:31:19 2006 UTC
(18 years, 4 months ago)
by
dpavlin
added blib, create /tmp/fusetest-$ENV{LOGNAME} (from directory for loopback) if it doesn't
exist. mounted directory will be empty when mounted.
Revision
21 -
Directory Listing
Modified
Mon Jan 2 19:50:33 2006 UTC
(18 years, 4 months ago)
by
dpavlin
working copy
Revision
19 -
Directory Listing
Modified
Tue Dec 27 12:47:00 2005 UTC
(18 years, 4 months ago)
by
dpavlin
Original Path:
perl/trunk/examples
Changes from Mark Glines in preparation for 0.07
- Remove the FUSE_DEBUG constant; we never actually implemented
it to begin with.
- "make test" now uses the version of Fuse you've just built,
not the one installed in /usr/lib/perl5.
- getattr test now allows blksize to vary between host and fuse
fs, as this is not a bug.
- Add experimental support for threading. The following minor
API changes accommodate this:
- The nonexistent (yet documented) "unthreaded=>1" attribute
has been replaced with the "threaded=>1" attribute, and this
time it actually exists.
- Symbolic refs like "main::e_getattr" are now allowed for
callbacks, because threaded mode needs to share() the
callbacks, yet perl 5.8.7 does not allow share()ing code
refs yet. Direct code-refs are still supported as much
as possible (currently, non-threaded mode).
- testsuite uses a multithreaded loopback.pl, when available.
- Update docs accordingly. Update examples accordingly.
Revision
18 -
Directory Listing
Modified
Wed Dec 21 15:33:37 2005 UTC
(18 years, 5 months ago)
by
dpavlin
Original Path:
perl/trunk/examples
Mark Glines changes to add ithreads support:
* Support threading
* Fix the DEBUGf stuff, it seems to segfault these days
* Update the docs
* scrub off some bitrot
Revision
10 -
Directory Listing
Modified
Sun Mar 20 00:36:05 2005 UTC
(19 years, 2 months ago)
by
dpavlin
Original Path:
perl/trunk/examples
From: Richard Dawe <rich(at)phekda(dot)gotadsl(dot)co(dot)uk>
Please find attached a patch that allows Fuse.pm's test suite to run as a
non-root user. It will skip all the tests that require root priveleges (giving
away ownership using chown, mknod of character and block devices). The patch
creates a test root and mount point per user.
The patch also uses POSIX::WEXITSTATUS instead of the less portable "$? >> 8"
idiom.