#fuse #filesystem #system #bindings

fuse3

FUSE user-space library async version implementation

20 releases

0.2.1 Jun 14, 2021
0.2.0-beta.4 Mar 6, 2021
0.2.0-beta.3 Feb 17, 2021
0.1.0-beta1.3 May 24, 2020
0.1.0-alpha3 Apr 30, 2020

#158 in Filesystem

Download history 5/week @ 2021-08-06 32/week @ 2021-08-13 4/week @ 2021-08-20 1/week @ 2021-08-27 2/week @ 2021-09-03 6/week @ 2021-09-10 2/week @ 2021-09-17 22/week @ 2021-09-24 1/week @ 2021-10-01 23/week @ 2021-10-08 5/week @ 2021-10-15 2/week @ 2021-10-22 3/week @ 2021-10-29 25/week @ 2021-11-05 216/week @ 2021-11-12 41/week @ 2021-11-19

96 downloads per month
Used in atefs

MIT license

280KB
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

~2.8–6MB
~114K SLoC

]`