fuse-rs icon indicating copy to clipboard operation
fuse-rs copied to clipboard

Is it Rust re-implementation of libfuse or just bindings to libfuse?

Open vi opened this issue 6 years ago • 5 comments

README:

Rust-FUSE does not just provide bindings, it is a rewrite of the original FUSE C library to fully take advantage of Rust's architecture.

Changelog:

Link libosxfuse on macOS, libfuse on all other systems.

Where's the truth? I supposed it only needed fusermount suid executable, not the library.


Can I cross-compile projects using rust-fuse without having C compiler or libraries around? Or how else can I use advantages of it being "not just the bindings"?

vi avatar Nov 04 '19 11:11 vi

The fuse library is only used for the fuse_mount_compat method (obviously for compatibility reasons) you can easily replace fuse_mount_compat with a fusermount call or use the fuse channel directly (this requires root privileges). Ps: If you'r looking for an example implementation of fuse_mount_compat using fusermount binary or the fuse channel I must have it somewhere.

asyade avatar Nov 07 '19 14:11 asyade

Shall there be a Cargo feature that turns off (or maybe turns on) system libfuse dependency (and requirement for the C compiler) and includes the code to call /bin/fusermount instead?

vi avatar Nov 07 '19 14:11 vi

If anything, please do not hard-code the path to /bin/fusermount and instead search PATH for the binary or use a sub-shell.

mbilker avatar Dec 03 '19 14:12 mbilker

Do you maybe have that code with fusermount?

JuniorJPDJ avatar Mar 05 '20 11:03 JuniorJPDJ

I wonder why didn't you implement fusermount in rust? With fusermount being a setuid root program it seems to be a good candidate for rewriting in a safe language. That's way we're also one step closer of getting rid of the libfuse dependency on Linux. :-)

richardweinberger avatar Jan 07 '21 09:01 richardweinberger