libfuse/doc
Mattias Nissler da7c9b228a Add unprivileged option in mount.fuse3
The unprivileged option allows to run the FUSE file system process
without privileges by dropping capabilities and preventing them from
being re-acquired via setuid / fscaps etc. To accomplish this,
mount.fuse sets up the `/dev/fuse` file descriptor and mount itself
and passes the file descriptor via the `/dev/fd/%u` mountpoint syntax
to the FUSE file system.
2018-10-09 20:36:22 +01:00
..
.gitignore Include documentation in tarball. 2016-01-28 18:01:48 -08:00
Doxyfile Spelling (#223) 2017-11-27 10:23:20 +00:00
fast17-vangoor.pdf Added some documentation of fuse internals. 2017-09-17 09:35:43 +01:00
fusermount3.1 Rename more things from fuse to fuse3 2016-11-28 21:33:14 -08:00
kernel.txt Rename more things from fuse to fuse3 2016-11-28 21:33:14 -08:00
mainpage.dox Added some documentation of fuse internals. 2017-09-17 09:35:43 +01:00
meson.build Fix manpage filename for mount.fuse3 2018-07-04 19:52:32 +01:00
mount.fuse3.8 Add unprivileged option in mount.fuse3 2018-10-09 20:36:22 +01:00
README.NFS Mention that low-level fs need to set FUSE_CAP_EXPORT_SUPPORT 2016-10-16 15:34:20 -07:00

NFS exporting is supported in Linux kernels 2.6.27 or later.

You need to add an fsid=NNN option to /etc/exports to make exporting a
FUSE directory work.

Filesystem support
------------------

NFS exporting works to some extent on all fuse filesystems, but not
perfectly.  This is due to the stateless nature of the protocol, the
server has no way of knowing whether the client is keeping a reference
to a file or not, and hence that file may be removed from the server's
cache.  In that case there has to be a way to look up that object
using the inode number, otherwise an ESTALE error will be returned.

1) low-level interface

Filesystems need to set FUSE_CAP_EXPORT_SUPPORT in conn->wants and
implement special lookups for the names "." and "..". The former may
be requested on any inode, including non-directories, while the latter
is only requested for directories.  Otherwise these special lookups
should behave identically to ordinary lookups.

2) high-level interface

Because the high-level interface is path based, it is not possible to
delegate looking up by inode to the filesystem.

To work around this, currently a "noforget" option is provided, which
makes the library remember nodes forever.  This will make the NFS
server happy, but also results in an ever growing memory footprint for
the filesystem.  For this reason if the filesystem is large (or the
memory is small), then this option is not recommended.