8 releases

✓ Uses Rust 2018 edition

0.3.3 Jan 10, 2020
0.3.2 Jan 3, 2020
0.3.0 Dec 27, 2019
0.2.1 Dec 2, 2019
0.1.1 Nov 18, 2019

#85 in Filesystem

Download history 10/week @ 2020-03-11 27/week @ 2020-03-18 8/week @ 2020-03-25 8/week @ 2020-04-01 36/week @ 2020-04-08 25/week @ 2020-04-15 8/week @ 2020-04-22 5/week @ 2020-04-29 2/week @ 2020-05-06 25/week @ 2020-05-13 2/week @ 2020-05-20 14/week @ 2020-05-27 64/week @ 2020-06-03 1/week @ 2020-06-10 2/week @ 2020-06-17 4/week @ 2020-06-24

85 downloads per month
Used in polyfuse-tokio


5.5K SLoC


A FUSE (Filesystem in Userspace) library for Rust.

polyfuse is a library for implementing filesystems based on Filesystem in Userspace (FUSE) in Rust.

The goal of this project is to provide a Rust FUSE library that has a high affinity with the async/.await syntax stabilized in Rust 1.39.


Add a dependency to your package using cargo-edit as follows:

$ cargo add polyfuse

To run FUSE daemon, it is necessary to choose appropriate supporting package according to the asynchronous runtime to be used. Currently, polyfuse only provides a support for the tokio and adding support for async-std is a future work.

Platform Requirements

Currently, polyfuse only supports the Linux platforms with the FUSE ABI version is 7.23 or higher. The required kernel version is Linux 3.15 or later.

Adding support for other Unix platform running FUSE (FreeBSD, macOS, and so on) is a future work.

In order to establish the connection with the FUSE kernel driver, the command fusermount must be installed on the platform where the filesystem runs. This binary is typically including in the fuse package provided by the distribution's package system.

On Debian/Ubuntu or other APT based distributions:

$ sudo apt-get install fuse

On Fedora/RHEL or other RPM based distributions:

$ sudo dnf install fuse

On Arch Linux or other Pacman based distributions:

$ sudo pacman -S fuse2



This library is licensed under either of

at your option.


~45K SLoC