OCamlFuse is an ocaml binding for fuse (filesystem in userspace) enabling
you to write your own multithreaded, efficient userspace filesystems
using the ocaml programming language.
This release has been updated to the fuse API version 2.2 (and above),
so it is ready for linux 2.6.14, which is going to include the
kernel-side part of fuse in the official release.
Two important issues have been fixed:
- the library is correctly multithreaded (a single call cannot
block the entire filesystem)
- the library does not copy memory buffers in read and write
operations, thus achieving efficiency close to C.
The ocaml implementation of "fusexmp", the official example performing
a similar function to "mount -bind", is less than 100 lines long
including a simple in-memory extended attributes implementation, and
is I/O bound on my two years old laptop.
You can find more information, download the source code of this
release, check-out code from CVS and subscribe to the development
mailing list etc. at
Fusexmp "looks stable", but testing is needed, as well as help with
installation and distribution and general advice about everything
related to ocamlfuse.