tail head cat sleep
QR code linking to this page

Manual Pages  — FUSEFS

NAME

fusefs – File system in USErspace

CONTENTS

SYNOPSIS

To link into the kernel: options FUSEFS

To load as a loadable kernel module:

    kldload fusefs

DESCRIPTION

The fusefs driver implements a file system that is serviced by a userspace program.

There are many uses for fusefs. Userspace daemons can access libraries or programming languages that cannot run in kernel-mode, for example. fusefs is also useful for developing and debugging file systems, because a crash of the daemon will not take down the entire operating system. Finally, the fusefs API is portable. Many daemons can run on multiple operating systems with minimal modifications.

SYSCTL VARIABLES

The following sysctl(8) variables are available:
vfs.fusefs.kernelabi_major
  Major version of the FUSE kernel ABI supported by this driver.
vfs.fusefs.kernelabi_minor
  Minor version of the FUSE kernel ABI supported by this driver.
vfs.fusefs.data_cache_mode
  Controls how fusefs will cache file data for pre-7.23 file systems. A value of 0 will disable caching entirely. Every data access will be forwarded to the daemon. A value of 1 will select write-through caching. Reads will be cached in the VFS layer as usual. Writes will be immediately forwarded to the daemon, and also added to the cache. A value of 2 will select write-back caching. Reads and writes will both be cached, and writes will occasionally be flushed to the daemon by the page daemon. Write-back caching is usually unsafe, especially for FUSE file systems that require network access.

FUSE file systems using protocol 7.23 or later specify their cache behavior on a per-mountpoint basis, ignoring this sysctl.

vfs.fusefs.stats.filehandle_count
  Current number of open FUSE file handles.
vfs.fusefs.stats.lookup_cache_hits
  Total number of lookup cache hits.
vfs.fusefs.stats.lookup_cache_misses
  Total number of lookup cache misses.
vfs.fusefs.stats.node_count
  Current number of allocated FUSE vnodes.
vfs.fusefs.stats.ticket_count
  Current number of allocated FUSE tickets, which is roughly equal to the number of FUSE operations currently being processed by daemons.

SEE ALSO

mount_fusefs(8)

HISTORY

The fuse driver was written as the part of the FreeBSD implementation of the FUSE userspace file system framework (see
.Lk
https://github.com/libfuse/libfuse ) and first appeared in the sysutils/fusefs-kmod port, supporting FreeBSD 6.0 . It was added to the base system in FreeBSD 10.0, and renamed to fusefs for FreeBSD 12.1 .

AUTHORS

The fuse driver was originally written by Csaba Henk as a Google Summer of Code project in 2005. It was further developed by Ilya Putsikau during Google Summer of Code 2011, and that version was integrated into the base system by Attilio Rao <Mt attilio@FreeBSD.org>.

This manual page was written by Alan Somers <Mt asomers@FreeBSD.org>.


FUSEFS (5) July 31, 2019

tail head cat sleep
QR code linking to this page


Please direct any comments about this manual page service to Ben Bullock. Privacy policy.

Ken Thompson was once asked by a reporter what he would have changed about Unix if he had it all to do over again. His answer: “I would spell creat with an ‘e.'”