FUSE (Filesystem in USErspace) implements a file system that is serviced by a userspace program.

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.

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

  • fusefs.txt
  • Last modified: 2022/08/15 04:58
  • by KubilayKocak