/[fuse.before_github]/perl-llin/examples
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Log of /perl-llin/examples

View Directory Listing Directory Listing


Sticky Revision:

Revision 117 - Directory Listing
Modified Mon Jan 7 11:45:54 2008 UTC (16 years, 2 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, 3 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, 4 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, 2 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, 2 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, 2 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, 2 months ago) by dpavlin
use version just built

Revision 23 - Directory Listing
Modified Mon Jan 2 20:31:19 2006 UTC (18 years, 2 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, 2 months ago) by dpavlin
working copy

Revision 20 - Directory Listing
Modified Tue Dec 27 14:49:31 2005 UTC (18 years, 3 months ago) by dpavlin
Original Path: perl/trunk/examples
added missing example, 0.07_1


Revision 19 - Directory Listing
Modified Tue Dec 27 12:47:00 2005 UTC (18 years, 3 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, 3 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 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.


Revision 4 - Directory Listing
Added Thu Nov 11 14:44:15 2004 UTC (19 years, 4 months ago) by mszeredi
Original Path: perl/trunk/examples
Initial revision


  ViewVC Help
Powered by ViewVC 1.1.26