Go native bindings for the FUSE kernel module.
Use github.com/hanwen/go-fuse/v2/fs library. It follows the wire protocol closely, but provides convenient abstractions for building both node and path based file systems
v2.10:
v2.9:
v2.8
v2.7
v2.6
v2.5
Further highlights of this library is
Comprehensive and up to date protocol support (up to 7.12.28).
Performance that is competitive with libfuse.
example/hello/ contains a 60-line "hello world" filesystem
zipfs/zipfs contains a small and simple read-only filesystem for zip and tar files. The corresponding command is in example/zipfs/ For example,
```shell mkdir /tmp/mountpoint example/zipfs/zipfs /tmp/mountpoint file.zip & ls /tmp/mountpoint fusermount -u /tmp/mountpoint ````
zipfs/multizipfs shows how to use combine simple Go-FUSE filesystems into a larger filesystem.
example/loopback mounts another piece of the filesystem. Functionally, it is similar to a symlink. A binary to run is in example/loopback/ . For example
shell
mkdir /tmp/mountpoint
example/loopback/loopback -debug /tmp/mountpoint /some/other/directory &
ls /tmp/mountpoint
fusermount -u /tmp/mountpoint
The main developer (hanwen@) does not own a Mac to test, but accepts patches to make Go-FUSE work on Mac.
All of the limitations of OSXFUSE, including lack of support for NOTIFY.
OSX issues STATFS calls continuously (leading to performance concerns).
OSX has trouble with concurrent reads from the FUSE device, leading to performance concerns.
Tests are expected to pass; report any failure as a bug!
Inspired by Taru Karttunen's package, https://bitbucket.org/taruti/go-extra.
Originally based on Ivan Krasin's https://github.com/krasin/go-fuse-zip
Report them through https://github.com/hanwen/go-fuse/issues. Please
include a debug trace (set fuse.MountOptions.Debug to true).
Like Go, this library is distributed under the new BSD license. See accompanying LICENSE file.
$ claude mcp add go-fuse \
-- python -m otcore.mcp_server <graph>