GO-FUSE: native bindings for the FUSE kernel module.

See passthrough.go for a file system that exercises all available
functionality.  To test it, a tool is provided to mount a local
directory as a loopback:

  (cd example ; gomake)
  mkdir mountpoint
  ./example/main -debug -threaded=false mountpoint /some/other/directory &
  (cd mountpoint ; ls)

on my machine, compiles over loopback (threaded, without debug) are
about 2x slower compared to normal compiles.

Tested on:

- x86 32bits (Fedora 14). 
- x86 64bits (Ubuntu Lucid).


LICENSE

Like Go, this library is distributed under the new BSD.  See accompanying LICENSE file.


CREDITS

Partly inspired by Taru Karttunen's package, https://bitbucket.org/taruti/go-extra.


BUGS

Yes, probably.  Report them through golang-nuts@googlegroups.com. 


KNOWN PROBLEMS

Grep source code for TODO.  Major topics:

* Missing support for file locking: FUSE_GETLK, FUSE_SETLK, FUSE_SETLKW

* Missing support for extended attributes FUSE_SETXATTR, FUSE_GETXATTR, FUSE_LISTXATTR

* Missing support for FUSE_INTERRUPT, FUSE_NOTIFY, CUSE, BMAP, POLL, IOCTL

* Missing support for doing GetAttr/SetAttr on opened files.