Skip to content
New issue

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

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

Already on GitHub? # 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. :-)

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

No branches or pull requests

5 participants