primary |
FUSE (Filesystem in Userspace) is an interface for userspace programs to
export a filesystem to the kernel. The FUSE project consists of two
components: the fuse kernel module (maintained by supported operating
system) and the libfuse userspace library (the contents of this package).
libfuse provides the reference implementation for communicating with the
FUSE kernel module.
A FUSE file system is typically implemented as a standalone application
that links with libfuse. libfuse provides functions to mount the file
system, unmount it, read requests from the kernel, and send responses
back. libfuse offers two APIs: a "high-level", synchronous API, and a
"low-level" asynchronous API. In both cases, incoming requests from the
kernel are passed to the main program using callbacks. When using the
high-level API, the callbacks may work with file names and paths instead
of inodes, and processing of a request finishes when the callback function
returns. When using the low-level API, the callbacks must work with inodes
and responses must be sent explicitly using a separate set of API
functions.
|