-Fuse version 0.06
-=================
+Fuse perl bindings
+==================
Fuse is combination of Linux kernel module and user space library which
enables you to write user-space filesystems. This module enables you to
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:
DEPENDENCIES
-This module requires the FUSE userspace library and the FUSE kernel module.
+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. Then, you need to use threads and
+threads::shared.
+
COPYRIGHT AND LICENCE
BUGS
-I've begun to build a formal testing framework. Currently it can mount
-and unmount loopback.pl, and all of the base-level functions have test
-scripts. These need to be fleshed out as problems are noticed.
-
-The current test framework seems to work well, but the underlying mount/
-unmount infrastructure is a crock. I am not pleased with that code.
-
-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
-
+At time of writing, Perl (5.8.7) did not support shared subroutine references.
+Symptoms include a cryptic error message like "Invalid value for shared scalar"
+from Fuse.pm. Until this is fixed, if you use threaded mode, you need to use
+symbolic references (i.e. passing "main::cb" instead of \&cb). This doesn't
+allow things like closures, lexical subs and that sort of thing, but it does
+work for me.
+
+Currently tests have been attempted and succeeded on:
+ * Ubuntu 10.10/amd64
+ * Ubuntu 11.04/amd64
+ * Debian 5.0/powerpc
+ * CentOS 5.6/amd64
+ * NetBSD 5.1/i386
+ * NetBSD 5.1/amd64
+ * FreeBSD 8.2/i386
+ * FreeBSD 8.2/amd64
+ * MacOS X 10.6.7
+
+Note that on NetBSD, there are several bugs in libpuffs and librefuse
+which prevent some tests from succeeding. There are fixes in NetBSD's
+MAIN branch, specifically revisions 1.26 and 1.27 on src/lib/libpuffs/subr.c,
+which correct the issues that cause the test failures. However, there is
+still a bug in librefuse that causes readdir() to only be called once.
+We will be addressing this with the appropriate developers in the near
+future.
+
+Also note that on NetBSD and FreeBSD, extended attributes do not work. These
+are specifics related to the FUSE implementations on those platforms.