Documentation/filesystems/fuse/fuse.rst

Source file repositories/reference/linux-study-clean/Documentation/filesystems/fuse/fuse.rst

File Facts

System
Linux kernel
Corpus path
Documentation/filesystems/fuse/fuse.rst
Extension
.rst
Size
17902 bytes
Lines
441
Domain
Support Tooling And Documentation
Bucket
Documentation
Inferred role
Support Tooling And Documentation: documentation
Status
atlas-only

Why This File Exists

Repository support layer: documentation, build tooling, samples, user-space helper tools, generated initramfs support, licenses, and validation utilities.

Dependency Surface

Detected Declarations

Annotated Snippet

.. SPDX-License-Identifier: GPL-2.0

=============
FUSE Overview
=============

Definitions
===========

Userspace filesystem:
  A filesystem in which data and metadata are provided by an ordinary
  userspace process.  The filesystem can be accessed normally through
  the kernel interface.

Filesystem daemon:
  The process(es) providing the data and metadata of the filesystem.

Non-privileged mount (or user mount):
  A userspace filesystem mounted by a non-privileged (non-root) user.
  The filesystem daemon is running with the privileges of the mounting
  user.  NOTE: this is not the same as mounts allowed with the "user"
  option in /etc/fstab, which is not discussed here.

Filesystem connection:
  A connection between the filesystem daemon and the kernel.  The
  connection exists until either the daemon dies, or the filesystem is
  umounted.  Note that detaching (or lazy umounting) the filesystem
  does *not* break the connection, in this case it will exist until
  the last reference to the filesystem is released.

Mount owner:
  The user who does the mounting.

User:
  The user who is performing filesystem operations.

What is FUSE?
=============

FUSE is a userspace filesystem framework.  It consists of a kernel
module (fuse.ko), a userspace library (libfuse.*) and a mount utility
(fusermount).

One of the most important features of FUSE is allowing secure,
non-privileged mounts.  This opens up new possibilities for the use of
filesystems.  A good example is sshfs: a secure network filesystem
using the sftp protocol.

The userspace library and utilities are available from the
`FUSE homepage: <https://github.com/libfuse/>`_

Filesystem type
===============

The filesystem type given to mount(2) can be one of the following:

    fuse
      This is the usual way to mount a FUSE filesystem.  The first
      argument of the mount system call may contain an arbitrary string,
      which is not interpreted by the kernel.

    fuseblk
      The filesystem is block device based.  The first argument of the
      mount system call is interpreted as the name of the device.

Mount options
=============

fd=N
  The file descriptor to use for communication between the userspace

Annotation

Implementation Notes