feat: implement fuse-t feature#144
Conversation
d735bfa to
9806669
Compare
bergwolf
left a comment
There was a problem hiding this comment.
Now that we have a third fuse session implementation, IMHO we should define a trait for all of them. But we can do it later on.
| fusedev = ["vmm-sys-util", "caps", "core-foundation-sys"] | ||
| virtiofs = ["virtio-queue", "caps", "vmm-sys-util"] | ||
| vhost-user-fs = ["virtiofs", "vhost", "caps"] | ||
| fuse-t=[] |
There was a problem hiding this comment.
should be a feature only available on macos?
There was a problem hiding this comment.
Yes, but features not support [target.'cfg(target_os = "macos")'.features]?
tests/macfuse_smoke.rs
Outdated
|
|
||
| #[test] | ||
| #[ignore] // it depends on privileged mode to pass through /dev/fuse | ||
| #[cfg(feature = "fuse-t")] // it depends on privileged mode to pass through /dev/fuse |
There was a problem hiding this comment.
we use --ignore to test with privilege mode.
There was a problem hiding this comment.
This case only run macos, has no --ignore run.
There was a problem hiding this comment.
macfuse can not get privilege, becase it must click in System Setting.
| const FUSE_HEADER_SIZE: usize = 0x1000; | ||
| const FS_SND_SIZE: usize = 4 * 1024 * 1024; | ||
|
|
||
| const FUSE_NFSSRV_PATH: &str = "/usr/local/bin/go-nfsv4"; |
There was a problem hiding this comment.
Is the binary installed by default? I don't see it getting installed in the test setup.
There was a problem hiding this comment.
Install by this script
wget https://github.com/macos-fuse-t/fuse-t/releases/download/1.0.24/fuse-t-macos-installer-1.0.24.pkg
sudo installer -pkg fuse-t-macos-installer-1.0.24.pkg -target /|
There are a few warnings: Not sure why CI didn't catch it. Otherwise lgtm! |
Use fuse-t to replace MacFUSE as the implementation of FUSE. fuse-t is based on NFS and does not require the use of kernel extensions. Installation can be done with lower privileges and it does not impact system stability. Signed-off-by: killagu <killa123@126.com>
|
Add |
Use fuse-t to replace MacFUSE as the implementation of FUSE. fuse-t is based on NFS and does not require the use of kernel extensions. Installation can be done with lower privileges and it does not impact system stability.