libfuse FUSE Library for Linux
github.com
2
Leaving SiteNav
External Link Disclaimer
You are about to visit github.com. This website is not operated by us. We are not responsible for its content or privacy practices.
About this website
libfuse is a free and open-source library for implementing filesystems in userspace on Linux, providing the reference implementation of the FUSE (Filesystem in Userspace) protocol. Originally developed by Miklos Szeredi in 2001 as part of the FUSE kernel module project, libfuse enables developers to create fully functional filesystems as regular userspace programs without kernel modifications. Key features: FUSE protocol: FUSE works by registering a virtual filesystem with the Linux kernel via the /dev/fuse device. When an application performs a filesystem operation (open, read, write, stat, mkdir, readdir) on a FUSE mount, the kernel forwards the request to the userspace filesystem daemon via the FUSE protocol. The daemon processes the request and returns the result. Userspace filesystems: developers implement filesystem operations (getattr, readdir, open, read, write, create, unlink, mkdir, rmdir, rename, chmod, chown, truncate, fsync) as callbacks in C, C++, Python (via python-fuse), Rust (via fuser), Go (via go-fuse), or any language with bindings. Performance: libfuse supports high-performance features including splice (zero-copy data transfer), writeback cache mode (kernel writes to page cache and flushes asynchronously), readdirplus (combined readdir and getattr for reduced round trips), and parallel request dispatch. Mount options: configurable options including allow_other (allow other users to access the mount), default_permissions (enforce kernel-level permission checks), direct_io (bypass page cache), big_writes, auto_unmount. libfuse3: the current major version (3.x), with improved API design and better multi-threading. Used by SSHFS, EncFS, GlusterFS, s3fs, rclone mount, MergerFS. GPL-2.0.
Statistics
2
Views
0
Clicks
0
Like
0
Dislike