Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

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

Open
vi opened this issue Nov 4, 2019 · 5 comments
Open

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

vi opened this issue Nov 4, 2019 · 5 comments

Comments

@vi
Copy link

vi commented Nov 4, 2019

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"?

@asyade
Copy link

asyade commented Nov 7, 2019

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.

@vi
Copy link
Author

vi commented Nov 7, 2019

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?

@mbilker
Copy link

mbilker commented Dec 3, 2019

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

@JuniorJPDJ
Copy link

Do you maybe have that code with fusermount?

@richardweinberger
Copy link

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. :-)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants