1 unstable release
0.1.0 | Dec 15, 2020 |
---|
#73 in #fuse
237 downloads per month
Used in 3 crates
(via polyfuse)
19KB
679 lines
polyfuse
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.
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
Resources
License
This library is licensed under either of
- MIT license (LICENSE-MIT or http://opensource.org/licenses/MIT)
- Apache License, Version 2.0 (LICENSE-APACHE or http://www.apache.org/licenses/LICENSE-2.0)
at your option.
lib.rs
:
FUSE application binary interface for polyfuse
.
The binding is compatible with ABI 7.31 (in libfuse 3.10.1).
Dependencies
~2.5MB
~48K SLoC