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

Contents of /perl/trunk/README

Parent Directory Parent Directory | Revision Log Revision Log


Revision 18 - (show annotations)
Wed Dec 21 15:33:37 2005 UTC (16 years, 5 months ago) by dpavlin
File size: 2973 byte(s)
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

1 Fuse version 0.06
2 =================
3
4 Fuse is combination of Linux kernel module and user space library which
5 enables you to write user-space filesystems. This module enables you to
6 write filesystems using perl.
7
8 Additional file-systems using Fuse module are released on CPAN using Fuse::
9 namespace. Currently that includes only Fuse::DBI which allows you to mount
10 database as file system, but there will be more.
11
12 This is a pre-production release. It seems to work quite well. In fact, I
13 can't find any problems with it whatsoever. If you do, I want to know.
14
15
16 INSTALLATION
17
18 To install this module type the standard commands as root:
19
20 perl Makefile.PL
21 make
22 make test
23 make install
24
25
26 DEPENDENCIES
27
28 This module requires the FUSE C library and the FUSE kernel module.
29 See http://fuse.sourceforge.net/
30
31 If you intend to use FUSE in threaded mode, you need a version of Perl which
32 has been compiled with USE_ITHREADS.
33
34
35 COPYRIGHT AND LICENCE
36
37 This is contributed to the FUSE project by Mark Glines <mark@glines.org>,
38 and is therefore subject to the same license and copyright as FUSE itself.
39 Please see the AUTHORS and COPYING files from the FUSE distribution for
40 more information.
41
42
43 EXAMPLES
44
45 There are a few example scripts. You can find them in the examples/
46 subdirectory. These are:
47
48 * example.pl, a simple "Hello world" type of script
49
50 * loopback.pl, a filesystem loopback-device. like fusexmp from
51 the main FUSE dist, it simply recurses file operations
52 into the real filesystem. Unlike fusexmp, it only
53 re-shares files under the /tmp/test directory.
54
55 * rmount.pl, an NFS-workalike which tunnels through SSH. It requires
56 an account on some ssh server (obviously), with public-key
57 authentication enabled. (if you have to type in a password,
58 you don't have this. man ssh_keygen.). Copy rmount_remote.pl
59 to your home directory on the remote machine, and create a
60 subdir somewhere, and then run it like:
61 ./rmount.pl host /remote/dir /local/dir
62
63 * rmount_remote.pl, a ripoff of loopback.pl meant to be used as a backend
64 for rmount.pl.
65
66
67 BUGS
68
69 Perl 5.8.7 does not support shared subroutine references. Until this is
70 fixed, if you use threaded mode, you need to use symbolic references (i.e.
71 passing "main::cb" instead of \&cb). This rules out closures, lexical
72 subs and that sort of thing, but it does seem to work.
73
74 The current test framework seems to work well, but the underlying mount/
75 unmount infrastructure is a crock. I am not pleased with that code. I
76 also wish there was a way to test without root permissions.
77
78 While most things work, I do still have a TODO list:
79 * "du -sb" reports a couple orders of magnitude too large a size.
80 * need to sort out cleaner mount semantics for the test framework
81 * figure out how to un-linuxcentrify the statfs tests
82 * test everything on other architectures and OS's

  ViewVC Help
Powered by ViewVC 1.1.26