Reworked the readme.
parent
563f47c299
commit
9564710706
@ -1,31 +1,30 @@
|
||||
[](https://godoc.org/github.com/jacobsa/fuse)
|
||||
|
||||
This package allows for writing and mounting user-space file systems from Go. It
|
||||
is a wrapper around [bazil.org/fuse][bazil], which does the heavy lifting. It
|
||||
does not make use of the [bazil.org/fuse/fs][bazil-fs] sub-package, which allows
|
||||
for something like an object-orientend representation of files and directories,
|
||||
and contains a decent amount of canned behavior.
|
||||
This package allows for writing and mounting user-space file systems from Go.
|
||||
Install it as follows:
|
||||
|
||||
The chief improvements and/or differences from the bazil.org packages are:
|
||||
go get -u github.com/jacobsa/fuse
|
||||
|
||||
* No surprises in the form of magic/default behaviors. You must provide an
|
||||
implementation for every method in the interface. Embed a
|
||||
`fuseutil.NotImplementedFileSystem` struct to have default implementations
|
||||
that return `ENOSYS`.
|
||||
Afterward, see the documentation for the following three packages:
|
||||
|
||||
* Every method, struct, and field is thoroughly documented. This may help you
|
||||
get your bearings in the world of FUSE, the Linux VFS, traditional file
|
||||
system implementations, etc., all of which tend to be very poorly
|
||||
documented.
|
||||
* Package [fuse][] provides support for mounting a new file system and
|
||||
reading requests from the kernel.
|
||||
|
||||
* Support for arbitrary offsets in directory entries returned by `ReadDir`.
|
||||
(The bazil.org package assumes that offsets must be counts of bytes.)
|
||||
* Package [fuseops][] enumerates the supported requests from the kernel, and
|
||||
provides documentation on their semantics.
|
||||
|
||||
The very large disadvantage over using the bazil.org packages is that many
|
||||
features have not yet been exposed.
|
||||
* Package [fuseutil][], in particular the `FileSystem` interface, provides a
|
||||
convenient way to create a file system type and export it to the kernel via
|
||||
`fuse.Mount`.
|
||||
|
||||
Make sure to see the sub-packages of the [samples][] package.
|
||||
Make sure to also see the sub-packages of the [samples][] package for examples
|
||||
and tests.
|
||||
|
||||
[bazil]: http://godoc.org/bazil.org/fuse
|
||||
[bazil-fs]: http://godoc.org/bazil.org/fuse/fs
|
||||
This package owes its inspiration and most of its kernel-related code to
|
||||
[bazil.org/fuse][bazil].
|
||||
|
||||
[fuse]: http://godoc.org/github.com/jacobsa/fuse
|
||||
[fuseops]: http://godoc.org/github.com/jacobsa/fuse/fuseops
|
||||
[fuseutil]: http://godoc.org/github.com/jacobsa/fuse/fuseutil
|
||||
[samples]: http://godoc.org/github.com/jacobsa/fuse/samples
|
||||
[bazil]: http://godoc.org/bazil.org/fuse
|
||||
|
Loading…
Reference in New Issue