641629d124
Necessary because our evil memclr should go away. Benchmarks: benchmark old ns/op new ns/op delta BenchmarkOutMessageReset/Single_buffer-12 4.94 4.95 +0.20% BenchmarkOutMessageReset/Many_buffers-12 10.4 12.0 +15.38% BenchmarkOutMessageGrowShrink/Single_buffer-12 42861 47666 +11.21% BenchmarkOutMessageGrowShrink/Many_buffers-12 101896 100626 -1.25% benchmark old MB/s new MB/s speedup BenchmarkOutMessageReset/Single_buffer-12 4853.85 4851.64 1.00x BenchmarkOutMessageReset/Many_buffers-12 2311.82 2006.72 0.87x BenchmarkOutMessageGrowShrink/Single_buffer-12 24464.39 21998.19 0.90x BenchmarkOutMessageGrowShrink/Many_buffers-12 10290.60 10420.48 1.01x |
||
---|---|---|
fsutil | ||
fuseops | ||
fusetesting | ||
fuseutil | ||
internal | ||
samples | ||
.gitignore | ||
.travis.yml | ||
LICENSE | ||
README.md | ||
connection.go | ||
conversions.go | ||
debug.go | ||
doc.go | ||
errors.go | ||
freelists.go | ||
mount.go | ||
mount_config.go | ||
mount_darwin.go | ||
mount_linux.go | ||
mount_test.go | ||
mounted_file_system.go | ||
ops.go | ||
unmount.go | ||
unmount_linux.go | ||
unmount_std.go |
README.md
This package allows for writing and mounting user-space file systems from Go. Install it as follows:
go get -u github.com/jacobsa/fuse
Afterward, see the documentation for the following three packages:
-
Package fuse provides support for mounting a new file system and reading requests from the kernel.
-
Package fuseops enumerates the supported requests from the kernel, and provides documentation on their semantics.
-
Package fuseutil, in particular the
FileSystem
interface, provides a convenient way to create a file system type and export it to the kernel viafuse.Mount
.
Make sure to also see the sub-packages of the samples package for examples and tests.
This package owes its inspiration and most of its kernel-related code to bazil.org/fuse.