Fuse version 0.06 ================= Fuse is combination of Linux kernel module and user space library which enables you to write user-space filesystems. This module enables you to write filesystems using perl. Additional file-systems using Fuse module are released on CPAN using Fuse:: namespace. Currently that includes only Fuse::DBI which allows you to mount database as file system, but there will be more. This is a pre-production release. It seems to work quite well. In fact, I can't find any problems with it whatsoever. If you do, I want to know. INSTALLATION To install this module type the standard commands as root: perl Makefile.PL make make test make install DEPENDENCIES This module requires the FUSE C library and the FUSE kernel module. See http://fuse.sourceforge.net/ If you intend to use FUSE in threaded mode, you need a version of Perl which has been compiled with USE_ITHREADS. COPYRIGHT AND LICENCE This is contributed to the FUSE project by Mark Glines , and is therefore subject to the same license and copyright as FUSE itself. Please see the AUTHORS and COPYING files from the FUSE distribution for more information. EXAMPLES There are a few example scripts. You can find them in the examples/ subdirectory. These are: * example.pl, a simple "Hello world" type of script * loopback.pl, a filesystem loopback-device. like fusexmp from the main FUSE dist, it simply recurses file operations into the real filesystem. Unlike fusexmp, it only re-shares files under the /tmp/test directory. * rmount.pl, an NFS-workalike which tunnels through SSH. It requires an account on some ssh server (obviously), with public-key authentication enabled. (if you have to type in a password, you don't have this. man ssh_keygen.). Copy rmount_remote.pl to your home directory on the remote machine, and create a subdir somewhere, and then run it like: ./rmount.pl host /remote/dir /local/dir * rmount_remote.pl, a ripoff of loopback.pl meant to be used as a backend for rmount.pl. BUGS Perl 5.8.7 does not support shared subroutine references. Until this is fixed, if you use threaded mode, you need to use symbolic references (i.e. passing "main::cb" instead of \&cb). This rules out closures, lexical subs and that sort of thing, but it does seem to work. The current test framework seems to work well, but the underlying mount/ unmount infrastructure is a crock. I am not pleased with that code. I also wish there was a way to test without root permissions. While most things work, I do still have a TODO list: * "du -sb" reports a couple orders of magnitude too large a size. * need to sort out cleaner mount semantics for the test framework * figure out how to un-linuxcentrify the statfs tests * test everything on other architectures and OS's