Index: stable/12/share/man/man5/Makefile =================================================================== --- stable/12/share/man/man5/Makefile (revision 351945) +++ stable/12/share/man/man5/Makefile (revision 351946) @@ -1,115 +1,116 @@ # @(#)Makefile 8.1 (Berkeley) 6/5/93 # $FreeBSD$ .include PACKAGE=runtime-manuals #MISSING: dump.5 plot.5 MAN= acct.5 \ ar.5 \ a.out.5 \ ${_boot.config.5} \ cd9660.5 \ core.5 \ devfs.5 \ devfs.conf.5 \ devfs.rules.5 \ device.hints.5 \ dir.5 \ disktab.5 \ elf.5 \ ethers.5 \ eui64.5 \ ext2fs.5 \ fbtab.5 \ fdescfs.5 \ forward.5 \ fs.5 \ fstab.5 \ + fusefs.5 \ group.5 \ hosts.5 \ hosts.equiv.5 \ hosts.lpd.5 \ intro.5 \ libmap.conf.5 \ link.5 \ linprocfs.5 \ linsysfs.5 \ mailer.conf.5 \ make.conf.5 \ moduli.5 \ motd.5 \ mount.conf.5 \ mqueuefs.5 \ msdosfs.5 \ networks.5 \ nsmb.conf.5 \ nsswitch.conf.5 \ nullfs.5 \ passwd.5 \ pbm.5 \ periodic.conf.5 \ phones.5 \ portindex.5 \ portsnap.conf.5 \ procfs.5 \ protocols.5 \ quota.user.5 \ rc.conf.5 \ rctl.conf.5 \ regdomain.5 \ remote.5 \ resolver.5 \ services.5 \ shells.5 \ src.conf.5 \ stab.5 \ style.Makefile.5 \ sysctl.conf.5 \ tmpfs.5 MLINKS= dir.5 dirent.5 MLINKS+=ext2fs.5 ext4fs.5 MLINKS+=fs.5 inode.5 MLINKS+=hosts.equiv.5 rhosts.5 MLINKS+=msdosfs.5 msdos.5 MLINKS+=passwd.5 master.passwd.5 MLINKS+=portindex.5 INDEX.5 MLINKS+=quota.user.5 quota.group.5 MLINKS+=rc.conf.5 rc.conf.local.5 MLINKS+=resolver.5 resolv.conf.5 MLINKS+=src.conf.5 src-env.conf.5 .if ${MK_AUTOFS} != "no" MAN+= autofs.5 .endif .if ${MK_BLUETOOTH} != "no" MAN+= bluetooth.device.conf.5 \ bluetooth.hosts.5 \ bluetooth.protocols.5 .endif .if ${MK_FREEBSD_UPDATE} != "no" MAN+= freebsd-update.conf.5 .endif .if ${MK_HESIOD} != "no" MAN+= hesiod.conf.5 .endif .if ${MK_NAND} != "no" MAN+= nandfs.5 .endif .if ${MK_PF} != "no" MAN+= pf.conf.5 \ pf.os.5 .endif .if ${MACHINE_CPUARCH} == "amd64" || ${MACHINE_CPUARCH} == "i386" _boot.config.5= boot.config.5 .endif .include Index: stable/12/share/man/man5/fusefs.5 =================================================================== --- stable/12/share/man/man5/fusefs.5 (nonexistent) +++ stable/12/share/man/man5/fusefs.5 (revision 351946) @@ -0,0 +1,147 @@ +.\" +.\" SPDX-License-Identifier: BSD-2-Clause-FreeBSD +.\" +.\" Copyright (c) 2019 The FreeBSD Foundation +.\" +.\" This software was developed by BFF Storage Systems, LLC under sponsorship +.\" from the FreeBSD Foundation. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND +.\" ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +.\" IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +.\" ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE +.\" FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL +.\" DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS +.\" OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) +.\" HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT +.\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY +.\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF +.\" SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.Dd April 13, 2019 +.Dt FUSEFS 5 +.Os +.Sh NAME +.Nm fusefs +.Nd "File system in USErspace" +.Sh SYNOPSIS +To link into the kernel: +.Bd -ragged -offset indent +.Cd "options FUSEFS" +.Ed +.Pp +To load as a loadable kernel module: +.Pp +.Dl "kldload fusefs" +.Sh DESCRIPTION +The +.Nm +driver implements a file system that is serviced by a userspace program. +.Pp +There are many uses for +.Nm . +Userspace daemons can access libraries or programming languages that cannot run +in kernel-mode, for example. +.Nm +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 +.Nm +API is portable. +Many daemons can run on multiple operating systems with minimal modifications. +.Sh SYSCTL VARIABLES +The following variables are available as both +.Xr sysctl 8 +variables and +.Xr loader 8 +tunables: +.Bl -tag -width indent +.It Va vfs.fusefs.kernelabi_major +Major version of the FUSE kernel ABI supported by this driver. +.It Va vfs.fusefs.kernelabi_minor +Minor version of the FUSE kernel ABI supported by this driver. +.It Va vfs.fusefs.data_cache_mode +Controls how +.Nm +will cache file data. +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. +.It Va vfs.fusefs.lookup_cache_enable +Controls whether +.Nm +will cache lookup responses from the file system. +FUSE file systems indicate whether lookup responses should be cacheable, but +it may be useful to globally disable caching them if a file system is +misbehaving. +.\" Undocumented sysctls +.\" ==================== +.\" Counters: I intend to rename to vfs.fusefs.stats.* for clarity +.\" vfs.fusefs.lookup_cache_{hits, misses} +.\" vfs.fusefs.filehandle_count +.\" vfs.fusefs.ticker_count +.\" vfs.fusefs.node_count +.\" +.\" vfs.fusefs.version - useless since the driver moved in-tree +.\" vfs.fusefs.reclaim_revoked: I don't understand it well-enough +.\" vfs.fusefs.sync_unmount: dead code +.\" vfs.fusefs.enforce_dev_perms: I don't understand it well enough. +.\" vfs.fusefs.init_backgrounded: dead code +.\" vfs.fusefs.iov_credit: I don't understand it well enough +.\" vfs.fusefs.iov_permanent_bufsize: I don't understand it well enough +.\" vfs.fusefs.fix_broken_io: I don't understand it well enough +.\" vfs.fusefs.sync_resize: useless and should be removed +.\" vfs.fusefs.refresh_size: probably useless? +.\" vfs.fusefs.mmap_enable: why is this optional? +.\" vfs.fusefs.data_cache_invalidate: what is this needed for? +.Sh SEE ALSO +.Xr mount_fusefs 8 +.Sh HISTORY +The +.Nm fuse +driver was written as the part of the +.Fx +implementation of the FUSE userspace file system framework (see +.Xr https://github.com/libfuse/libfuse ) +and first appeared in the +.Pa sysutils/fusefs-kmod +port, supporting +.Fx 6.0 . +It was added to the base system in +.Fx 10.0 , +and renamed to +.Nm +for +.Fx 12.1 . +.Sh AUTHORS +.An -nosplit +The +.Nm fuse +driver was originally written by +.An Csaba Henk +as a Google Summer of Code project in 2005. +It was further developed by +.An Ilya Putsikau +during Google Summer of Code 2011, and that version was integrated into the +base system by +.An Attilio Rao Aq Mt attilio@FreeBSD.org . +.Pp +This manual page was written by +.An Alan Somers Aq Mt asomers@FreeBSD.org . Property changes on: stable/12/share/man/man5/fusefs.5 ___________________________________________________________________ Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: stable/12 =================================================================== --- stable/12 (revision 351945) +++ stable/12 (revision 351946) Property changes on: stable/12 ___________________________________________________________________ Modified: svn:mergeinfo ## -0,0 +0,1 ## Merged /head:r346186