Note mount_fusefs appeared in FreeBSD 10.

Move note regarding implementation to caveats.
Address issued raised by Igor.

PR:		212513
Approved by:	bcr (mentor)
MFC after:	4 days
Differential Revision:	https://reviews.freebsd.org/D8105
This commit is contained in:
Sevan Janiyan 2016-10-03 00:16:16 +00:00
parent 4876636eb7
commit 51a2bd2f20
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=306610

View File

@ -29,7 +29,7 @@
.\" .\"
.\" $FreeBSD$ .\" $FreeBSD$
.\" .\"
.Dd October 11, 2012 .Dd October 3, 2016
.Dt MOUNT_FUSEFS 8 .Dt MOUNT_FUSEFS 8
.Os .Os
.Sh NAME .Sh NAME
@ -52,7 +52,8 @@
.Sh DESCRIPTION .Sh DESCRIPTION
Basic usage is to start a fuse daemon on the given Basic usage is to start a fuse daemon on the given
.Ar special .Ar special
file. In practice, the daemon is assigned a file.
In practice, the daemon is assigned a
.Ar special .Ar special
file automatically, which can then be indentified via file automatically, which can then be indentified via
.Xr fstat 1 . .Xr fstat 1 .
@ -68,7 +69,8 @@ is appended to the list of arguments,
.Nm .Nm
will call the will call the
.Ar fuse_daemon .Ar fuse_daemon
via that command. In that way the via that command.
In that way the
.Ar fuse_daemon .Ar fuse_daemon
will be instructed to attach itself to will be instructed to attach itself to
.Ar special . .Ar special .
@ -101,7 +103,8 @@ The options are as follows:
.It Fl A , Ic --reject-allow_other .It Fl A , Ic --reject-allow_other
Prohibit the Prohibit the
.Cm allow_other .Cm allow_other
mount flag. Intended for use in scripts and the mount flag.
Intended for use in scripts and the
.Xr sudoers 5 .Xr sudoers 5
file. file.
.It Fl S , Ic --safe .It Fl S , Ic --safe
@ -143,8 +146,8 @@ Only root can use this option
Limit size of read requests to Limit size of read requests to
.Ar n .Ar n
.It Cm private .It Cm private
Refuse shared mounting of the daemon. This is the default behaviour, Refuse shared mounting of the daemon.
to allow sharing, expicitly use This is the default behaviour, to allow sharing, expicitly use
.Fl o Cm noprivate .Fl o Cm noprivate
.It Cm neglect_shares .It Cm neglect_shares
Do not refuse unmounting if there are secondary mounts Do not refuse unmounting if there are secondary mounts
@ -154,11 +157,13 @@ Prefix absolute symlinks with the mountpoint
.El .El
.Pp .Pp
Besides the above mount options, there is a set of pseudo-mount options which Besides the above mount options, there is a set of pseudo-mount options which
are supported by the Fuse library. One can list these by passing are supported by the Fuse library.
One can list these by passing
.Fl h .Fl h
to a Fuse daemon. Most of these options have effect only on the behaviour of to a Fuse daemon.
the daemon (that is, their scope is limited to userspace). However, Most of these options only have affect on the behavior of the daemon (that is,
there are some which do require in-kernel support. their scope is limited to userspace).
However, there are some which do require in-kernel support.
Currently the options supported by the kernel are: Currently the options supported by the kernel are:
.Bl -tag -width indent .Bl -tag -width indent
.It Cm direct_io .It Cm direct_io
@ -189,7 +194,7 @@ only if the filesystem daemon has the same credentials (uid, real uid, gid,
real gid) as the user. real gid) as the user.
.Pp .Pp
This is applied for Fuse mounts by default and only root can mount without This is applied for Fuse mounts by default and only root can mount without
the strict access policy (ie. the the strict access policy (i.e. the
.Cm allow_other .Cm allow_other
mount option). mount option).
.Pp .Pp
@ -201,7 +206,7 @@ Users might opt to willingly relax strict access policy (as far they
are concerned) by doing their own secondary mount (See are concerned) by doing their own secondary mount (See
.Sx SHARED MOUNTS ) . .Sx SHARED MOUNTS ) .
.Sh SHARED MOUNTS .Sh SHARED MOUNTS
A Fuse daemon can be shared (ie. mounted multiple times). A Fuse daemon can be shared (i.e. mounted multiple times).
When doing the first (primary) mount, the spawner and the mounter of the daemon When doing the first (primary) mount, the spawner and the mounter of the daemon
must have the same uid, or the mounter should be the superuser. must have the same uid, or the mounter should be the superuser.
.Pp .Pp
@ -212,9 +217,9 @@ The behaviour of a secondary mount is analogous to that of symbolic
links: they redirect all filesystem operations to the primary mount. links: they redirect all filesystem operations to the primary mount.
.Pp .Pp
Doing a secondary mount is like signing an agreement: by this action, the mounter Doing a secondary mount is like signing an agreement: by this action, the mounter
agrees that the Fuse daemon can trace her I/O activities. From then on agrees that the Fuse daemon can trace her I/O activities.
she is not banned from using the filesystem (either via her own mount or From then on she is not banned from using the filesystem
via the primary mount), regardless whether (either via her own mount or via the primary mount), regardless whether
.Cm allow_other .Cm allow_other
is used or not. is used or not.
.Pp .Pp
@ -226,14 +231,15 @@ mount; e.g.
System administrators might want to use a custom mount policy (ie., one going System administrators might want to use a custom mount policy (ie., one going
beyond the beyond the
.Va vfs.usermount .Va vfs.usermount
sysctl). The primary tool for such purposes is sysctl).
The primary tool for such purposes is
.Xr sudo 8 . .Xr sudo 8 .
However, given that However, given that
.Nm .Nm
is capable of invoking an arbitrary program, one must be careful when doing this. is capable of invoking an arbitrary program, one must be careful when doing this.
.Nm .Nm
is designed in a way such that it makes that easy. For this purpose, is designed in a way such that it makes that easy.
there are options which disable certain risky features (ie. For this purpose, there are options which disable certain risky features (i.e.
.Fl S .Fl S
and and
.Fl A ) , .Fl A ) ,
@ -269,8 +275,8 @@ If set,
.Nm .Nm
will ignore uknown mount options. will ignore uknown mount options.
.It Ev MOUNT_FUSEFS_CALL_BY_LIB .It Ev MOUNT_FUSEFS_CALL_BY_LIB
Adjust behaviour to the needs of the FUSE library. Currently it effects Adjust behavior to the needs of the FUSE library.
help output. Currently it effects help output.
.El .El
.Pp .Pp
Although the following variables do not have any effect on Although the following variables do not have any effect on
@ -278,11 +284,13 @@ Although the following variables do not have any effect on
itself, they affect the behaviour of fuse daemons: itself, they affect the behaviour of fuse daemons:
.Bl -tag -width ".Ev FUSE_DEV_NAME" .Bl -tag -width ".Ev FUSE_DEV_NAME"
.It Ev FUSE_DEV_NAME .It Ev FUSE_DEV_NAME
Device to attach. If not set, the multiplexer path Device to attach.
If not set, the multiplexer path
.Ar /dev/fuse .Ar /dev/fuse
is used. is used.
.It Ev FUSE_DEV_FD .It Ev FUSE_DEV_FD
File desciptor of an opened Fuse device to use. Overrides File desciptor of an opened Fuse device to use.
Overrides
.Ev FUSE_DEV_NAME . .Ev FUSE_DEV_NAME .
.It Ev FUSE_NO_MOUNT .It Ev FUSE_NO_MOUNT
If set, the library will not attempt to mount the filesystem, even If set, the library will not attempt to mount the filesystem, even
@ -293,7 +301,8 @@ if a mountpoint argument is supplied.
.It Pa /dev/fuse .It Pa /dev/fuse
Fuse device with which the kernel and Fuse daemons can communicate. Fuse device with which the kernel and Fuse daemons can communicate.
.It Pa /dev/fuse .It Pa /dev/fuse
The multiplexer path. An The multiplexer path.
An
.Xr open 2 .Xr open 2
performed on it automatically is passed to a free Fuse device by the kernel performed on it automatically is passed to a free Fuse device by the kernel
(which might be created just for this puprose). (which might be created just for this puprose).
@ -330,12 +339,19 @@ does not call any external utility and also provides a hacky
.Xr umount 8 .Xr umount 8
.Sh HISTORY .Sh HISTORY
.Nm .Nm
appears as the part of the FreeBSD implementation of the Fuse userspace filesystem appeared in
framework (see http://fuse.sourceforge.net). This user interface is FreeBSD specific. .Fx 10.0
as the part of the
.Fx
implementation of the Fuse userspace filesystem
framework (see http://fuse.sourceforge.net).
.Sh CAVEATS .Sh CAVEATS
Secondary mounts should be unmounted via their device name. If an attempt is This user interface is
made to be unmount them via their filesystem root path, the unmount request .Fx
will be forwarded to the primary mount path. specific.
Secondary mounts should be unmounted via their device name.
If an attempt is made to unmount them via their filesystem root path,
the unmount request will be forwarded to the primary mount path.
In general, unmounting by device name is less error-prone than by mount path In general, unmounting by device name is less error-prone than by mount path
(although the latter will also work under normal circumstances). (although the latter will also work under normal circumstances).
.Pp .Pp