…or OpenBSD 5.5.
….h inclusion; note a couple known bugs.
Small tweak to README.
This issue has caused the getattr test to take... well, hours on my MacBook. This is because the kernel is busy allocating disk pages for all the empty space prior to the space character that's put into the file, because the HFS+ filesystem doesn't support sparse files.
Since tests that need syscall.pm or sys/syscall.pm, et al., always fail on the CPAN testing systems for one of several reasons (causing "make test" to fail because loopback.pl can't even create plain files without it), I'm adopting the *BSD arrangement for handling mknod() in loopback.pl, and using the Lchown module to do lchown() instead of trying to lookup a syscall number for it. Also changed the statfs test to do the same, as I'd already written code to use Filesys::Statvfs instead of trying to track down the statfs/statvfs/statvfs1 syscall number, and worry about packing the arguments the right way. Also changed Makefile.PL to provide per-platform explanations of what to install for FUSE support, and moved the "-g -ggdb" options into the OPTIMIZE parameter to WriteMakefile(). Also made a note of testing against CentOS 5.6, due to its use of Perl 5.8, as opposed to everything else I'd tested against prior.
Merged all loopback scripts into a single variant; now threads are enabled by passing --use-threads to loopback.pl instead of having a separate script variant, and use of Filesys::Statvfs instead of bogus filler statfs() data is enabled with --use-real-statfs. Also, loopback now fork()s itself away into a daemon, rather than depending on external infrastructure to do it; --pidfile can be passed to create a PID file. Altered test/helper.pm and test/s/mount.t to use new loopback.pl semantics. Altered test/statfs.t to optionally use Filesys::Statvfs's statvfs() instead of raw syscalls and pack masks, if the option is available to us. If not available, it will try to use syscalls instead. Cleanups to Makefile to put different options where they belong, rather than e.g., abusing the 'OBJECT' list to specify libraries and such. Works with all platforms. Updates to README and MANIFEST.
doesn't enable threads (it can be enabled), so let's try to be a bit more accepting.
- 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. git-svn-id: svn+ssh://llin/home/dpavlin/private/svn/fuse/perl/trunk@19 6e4b0b00-1209-0410-87b2-b275959b5705