#fuse #filesystem #system #bindings

fuse3

FUSE user-space library async version implementation

22 releases

Uses new Rust 2021

0.4.0 Apr 14, 2022
0.3.0 Dec 4, 2021
0.2.1 Jun 14, 2021
0.2.0-beta.4 Mar 6, 2021
0.1.0-alpha3 Apr 30, 2020

#143 in Filesystem

Download history 7/week @ 2022-01-29 11/week @ 2022-02-05 76/week @ 2022-02-12 34/week @ 2022-02-19 86/week @ 2022-02-26 15/week @ 2022-03-05 55/week @ 2022-03-12 110/week @ 2022-03-19 22/week @ 2022-03-26 20/week @ 2022-04-02 31/week @ 2022-04-09 13/week @ 2022-04-16 50/week @ 2022-04-23 154/week @ 2022-04-30 104/week @ 2022-05-07 391/week @ 2022-05-14

700 downloads per month
Used in atefs

MIT license

285KB
7K SLoC

fuse3

an async version fuse library for rust

Cargo Documentation License

feature

  • support unprivileged mode by using fusermount3
  • support readdirplus to improve read dir performance
  • support posix file lock
  • support handles the O_TRUNC open flag
  • support async direct IO
  • support enable no_open and no_open_dir option

still not support

  • ioctl implement
  • fuseblk mode
  • macos support

unstable

  • poll
  • notify_reply

Supported Rust Versions

The minimum supported version is 1.48.

License

MIT


lib.rs:

FUSE user-space library async version implementation.

This is an improved rewrite of the FUSE user-space library to fully take advantage of Rust's architecture.

This library doesn't depend on libfuse, unless enable unprivileged feature, this feature will support mount the filesystem without root permission by using fusermount3 binary.

Features:

  • file-lock: enable POSIX file lock feature.
  • async-std-runtime: use async_std runtime.
  • tokio-runtime: use tokio runtime.
  • unprivileged: allow mount filesystem without root permission by using fusermount3.

Notes:

You must enable async-std-runtime or tokio-runtime feature.

Dependencies

~3–10MB
~174K SLoC