X-Git-Url: http://git.rot13.org/?p=perl-fuse.git;a=blobdiff_plain;f=README;h=b324ce7b3172b676ee435d97f3000eab8bf3ee07;hp=625d2c2def24fd812398a2f241fdc22e5d6abcc7;hb=HEAD;hpb=4544cbe3708a5e8552232745ca1b03d4a568f339 diff --git a/README b/README index 625d2c2..b324ce7 100644 --- a/README +++ b/README @@ -1,5 +1,5 @@ -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 @@ -12,7 +12,6 @@ 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: @@ -29,7 +28,8 @@ 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. +has been compiled with USE_ITHREADS. Then, you need to use threads and +threads::shared. COPYRIGHT AND LICENCE @@ -66,17 +66,31 @@ subdirectory. These are: 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 +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.