# libfuse/libfuse

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/libfuse-libfuse).**

5,954 stars · 1,248 forks · C · other

## Links

- GitHub: https://github.com/libfuse/libfuse
- awesome-repositories: https://awesome-repositories.com/repository/libfuse-libfuse.md

## Description

libfuse is a library and kernel module combination that enables the development of custom Linux filesystems that run in userspace rather than in kernel space. It provides a bridge between the kernel's virtual filesystem layer and a userspace daemon, allowing filesystem operations to be forwarded and handled by a regular user process. The project offers two distinct APIs: a high-level callback-driven API where filesystem operations are implemented as simple functions that return results synchronously, and a low-level API that exposes raw kernel request structures directly for fine-grained control over request processing.

The library manages the full lifecycle of a userspace filesystem, including kernel mount registration, unmount cleanup, and automatic resource release when the daemon exits. It supports asynchronous request handling, allowing userspace to defer kernel request completion by queuing responses through a dedicated channel, and employs a multi-threaded dispatch model to process incoming kernel requests concurrently. The project includes the FUSE kernel module interface, headers, utilities, and build tools necessary for creating custom userspace filesystems on Linux.

The documentation and install surface covers both the high-level and low-level API approaches, along with mounting and unmounting procedures for integrating custom filesystems into the Linux VFS layer.

## Tags

### Operating Systems & Systems Programming

- [Kernel VFS Userspace Bridges](https://awesome-repositories.com/f/operating-systems-systems-programming/userspace-kernels/kernel-vfs-userspace-bridges.md) — Provides the core kernel-to-userspace bridge that forwards VFS operations to a daemon via a character device.
- [Callback-Based](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-apis/callback-based.md) — Delivers a simplified callback-based API for building filesystems by implementing file operations as functions.
- [Raw Request](https://awesome-repositories.com/f/operating-systems-systems-programming/filesystem-apis/raw-request.md) — Exposes a raw request-processing API for building filesystems that handle kernel operations directly.
- [FUSE Virtual Filesystems](https://awesome-repositories.com/f/operating-systems-systems-programming/fuse-virtual-filesystems.md) — Enables building and mounting custom userspace filesystems in the Linux kernel using the FUSE kernel module.
- [Kernel Filesystem Request Processors](https://awesome-repositories.com/f/operating-systems-systems-programming/low-level-debuggers/kernel-filesystem-request-processors.md) — Builds filesystems by directly processing raw kernel filesystem requests through the low-level API.
- [Raw Kernel Request Filesystem Builders](https://awesome-repositories.com/f/operating-systems-systems-programming/low-level-debuggers/raw-kernel-request-filesystem-builders.md) — Builds filesystems by processing raw kernel requests directly through the low-level API. ([source](http://libfuse.github.io/doxygen))
- [FUSE Userspace Filesystem Libraries](https://awesome-repositories.com/f/operating-systems-systems-programming/userspace-kernels/fuse-userspace-filesystem-libraries.md) — Provides a library and kernel module for implementing custom filesystems in userspace that mount into the Linux VFS layer.

### Artificial Intelligence & ML

- [Callback-Based Filesystem Implementations](https://awesome-repositories.com/f/artificial-intelligence-ml/high-level-model-apis/callback-based-filesystem-implementations.md) — Creates filesystems by writing simple callback functions that handle file operations through the high-level API. ([source](http://libfuse.github.io/doxygen))

### Part of an Awesome List

- [Userspace Filesystem Development Kits](https://awesome-repositories.com/f/awesome-lists/devops/linux-kernel-development/userspace-filesystem-development-kits.md) — Supplies headers, utilities, and build tools for creating custom userspace filesystems on Linux.

### Data & Databases

- [Mount Lifecycle Managers](https://awesome-repositories.com/f/data-databases/persistent-storage-volumes/filesystem-mounts/mount-point-resolvers/mount-lifecycle-managers.md) — Manages the full lifecycle of kernel mount registration, unmount cleanup, and automatic resource release.
- [Userspace Filesystem Mounters](https://awesome-repositories.com/f/data-databases/persistent-storage-volumes/filesystem-mounts/userspace-filesystem-mounters.md) — Mounts custom userspace filesystems onto the Linux kernel's VFS layer for standard file access via FUSE. ([source](http://libfuse.github.io/doxygen))
- [Userspace Filesystem Unmounters](https://awesome-repositories.com/f/data-databases/persistent-storage-volumes/filesystem-mounts/remote-root-unmounting/userspace-filesystem-unmounters.md) — Unmounts previously mounted userspace filesystems and releases all associated kernel resources. ([source](https://cdn.jsdelivr.net/gh/libfuse/libfuse@master/README.md))

### Development Tools & Productivity

- [FUSE Kernel Module Interfaces](https://awesome-repositories.com/f/development-tools-productivity/system-feature-managers/kernel-feature-managers/kernel-module-loaders/fuse-kernel-module-interfaces.md) — Offers a kernel module that bridges userspace filesystem daemons with the Linux kernel's virtual filesystem.

### Graphics & Multimedia

- [Kernel Request Structure Passthroughs](https://awesome-repositories.com/f/graphics-multimedia/raw-engine-command-passthroughs/kernel-request-structure-passthroughs.md) — Exposes raw kernel request structures directly to userspace for fine-grained filesystem control.

### Software Engineering & Architecture

- [Kernel Request Deferred Response Queues](https://awesome-repositories.com/f/software-engineering-architecture/asynchronous-task-queues/kernel-request-deferred-response-queues.md) — Provides a dedicated channel for deferring kernel request completion in userspace filesystem daemons.
- [Callback-Driven Request Handling](https://awesome-repositories.com/f/software-engineering-architecture/callback-driven-request-handling.md) — Maps filesystem operations to user-defined callbacks that return results synchronously to the kernel.
- [Filesystem Callback-Driven Request Handlers](https://awesome-repositories.com/f/software-engineering-architecture/callback-driven-request-handling/filesystem-callback-driven-request-handlers.md) — Processes kernel filesystem operations through callbacks that return results asynchronously to the kernel.
- [Kernel Request Thread Dispatchers](https://awesome-repositories.com/f/software-engineering-architecture/background-thread-dispatchers/thread-safe-dispatchers/kernel-request-thread-dispatchers.md) — Employs multiple worker threads to process incoming kernel requests concurrently for parallel workloads.
