FUSEFS
FUSE (Filesystem in USErspace) implements a file system that is serviced by a userspace program.
History
The FUSE module has been worked on by several people:
CsabaHenk, for Google Summer of Code 2007 ("fuse4bsd") - start of the port, unstable code
IlyaPutsikau, for Google Summer of Code 2011 - continued the port by rebasing from macfuse, unfinished project (SOC2011IlyaPutsikau)
AttilioRao and GeorgeNevilleNeil finished Ilya's GSoC project and imported it into the base system in 2012.
AlanSomers overhauled the driver and added a test suite in 2019, sponsored by the FreeBSD Foundation.
Status
As of 31-July-2019, the module implements version 7.23 of the FUSE protocol, with a few unimplemented features:
- FUSE_IOCTL
- BATCH_FORGET
- flock(2) (implemented in-kernel, so it doesn't work for networked file systems)
- posix_fallocate(2)
- FUSE_AUTO_INVAL_DATA
- FUSE_READDIRPLUS
- poll(2) (works for pipes and sockets, but not for regular files)
- FUSE_ASYNC_DIO
- FUSE_NO_OPEN_SUPPORT
Links
libfuse GitHub repository --Library used by many, but not all, FUSE file systems