From owner-svn-src-all@freebsd.org Tue Sep 3 14:07:37 2019 Return-Path: Delivered-To: svn-src-all@mailman.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mailman.nyi.freebsd.org (Postfix) with ESMTP id 05542DCFD4; Tue, 3 Sep 2019 14:06:50 +0000 (UTC) (envelope-from yuripv@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [IPv6:2610:1c1:1:6074::16:84]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 46N7zs0xB5z4PxB; Tue, 3 Sep 2019 14:06:49 +0000 (UTC) (envelope-from yuripv@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 1452) id 45E221AC0C; Tue, 3 Sep 2019 14:06:18 +0000 (UTC) X-Original-To: yuripv@localmail.freebsd.org Delivered-To: yuripv@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [96.47.72.80]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id 3B4E6672C; Sat, 13 Apr 2019 13:59:07 +0000 (UTC) (envelope-from owner-src-committers@freebsd.org) Received: from freefall.freebsd.org (freefall.freebsd.org [96.47.72.132]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "freefall.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 9775084E58; Sat, 13 Apr 2019 13:59:06 +0000 (UTC) (envelope-from owner-src-committers@freebsd.org) Received: by freefall.freebsd.org (Postfix, from userid 538) id 0FCD16722; Sat, 13 Apr 2019 13:59:06 +0000 (UTC) Delivered-To: src-committers@localmail.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)) (Client CN "mx1.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by freefall.freebsd.org (Postfix) with ESMTPS id 6990E6717 for ; Sat, 13 Apr 2019 13:59:03 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) server-signature RSA-PSS (4096 bits) client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "Let's Encrypt Authority X3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 3E1A484DCE; Sat, 13 Apr 2019 13:59:02 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org (repo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 089949D8F; Sat, 13 Apr 2019 13:59:02 +0000 (UTC) (envelope-from asomers@FreeBSD.org) Received: from repo.freebsd.org ([127.0.1.37]) by repo.freebsd.org (8.15.2/8.15.2) with ESMTP id x3DDx1Z6030175; Sat, 13 Apr 2019 13:59:01 GMT (envelope-from asomers@FreeBSD.org) Received: (from asomers@localhost) by repo.freebsd.org (8.15.2/8.15.2/Submit) id x3DDx1dR030173; Sat, 13 Apr 2019 13:59:01 GMT (envelope-from asomers@FreeBSD.org) Message-Id: <201904131359.x3DDx1dR030173@repo.freebsd.org> X-Authentication-Warning: repo.freebsd.org: asomers set sender to asomers@FreeBSD.org using -f From: Alan Somers To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r346186 - head/share/man/man5 X-SVN-Group: head X-SVN-Commit-Author: asomers X-SVN-Commit-Paths: head/share/man/man5 X-SVN-Commit-Revision: 346186 X-SVN-Commit-Repository: base MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Precedence: bulk X-Loop: FreeBSD.org Sender: owner-src-committers@freebsd.org X-Rspamd-Queue-Id: 9775084E58 X-Spamd-Bar: -- Authentication-Results: mx1.freebsd.org X-Spamd-Result: default: False [-2.94 / 15.00]; local_wl_from(0.00)[freebsd.org]; NEURAL_HAM_MEDIUM(-1.00)[-0.999,0]; NEURAL_HAM_SHORT(-0.94)[-0.940,0]; ASN(0.00)[asn:11403, ipnet:96.47.64.0/20, country:US]; NEURAL_HAM_LONG(-1.00)[-1.000,0] Status: O X-BeenThere: svn-src-all@freebsd.org X-Mailman-Version: 2.1.29 List-Id: "SVN commit messages for the entire src tree \(except for " user" and " projects" \)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Date: Tue, 03 Sep 2019 14:07:37 -0000 X-Original-Date: Sat, 13 Apr 2019 13:59:01 +0000 (UTC) X-List-Received-Date: Tue, 03 Sep 2019 14:07:37 -0000 Author: asomers Date: Sat Apr 13 13:59:01 2019 New Revision: 346186 URL: https://svnweb.freebsd.org/changeset/base/346186 Log: fusefs: add a fusefs(5) man page PR: 233393 Reported by: tech-lists@zyxst.net Reviewed by: cem MFC after: 2 weeks Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D19651 Added: head/share/man/man5/fusefs.5 (contents, props changed) Modified: head/share/man/man5/Makefile Modified: head/share/man/man5/Makefile ============================================================================== --- head/share/man/man5/Makefile Sat Apr 13 13:31:06 2019 (r346185) +++ head/share/man/man5/Makefile Sat Apr 13 13:59:01 2019 (r346186) @@ -27,6 +27,7 @@ MAN= acct.5 \ forward.5 \ fs.5 \ fstab.5 \ + fusefs.5 \ group.5 \ hosts.5 \ hosts.equiv.5 \ Added: head/share/man/man5/fusefs.5 ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/share/man/man5/fusefs.5 Sat Apr 13 13:59:01 2019 (r346186) @@ -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 .