Skip to content
Open
Show file tree
Hide file tree
Changes from 5 commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
11a0fa3
implemented direct mounting without libfuse or fusermount
Vociferix Feb 4, 2026
e56eaac
fixed mount options in fuse_direct.rs
Vociferix Feb 4, 2026
7b8c00f
Merge branch 'master' into direct-mount
Vociferix Feb 4, 2026
dd452af
Merge branch 'master' into direct-mount
Vociferix Feb 7, 2026
7c45654
implemented 'should_auto_unmount' and fixed 'NoAtime' option handling
Vociferix Feb 7, 2026
12dadcf
refactor direct-mount option handling to reuse functions from pure-ru…
Vociferix Feb 8, 2026
37bf52f
added direct-mount tests to Linux and BSD suites
Vociferix Feb 8, 2026
0e29072
Merge branch 'master' into direct-mount
Vociferix Feb 8, 2026
8d92cf8
fixed typo'd tests
Vociferix Feb 8, 2026
07c9af4
removed unneeded #[cfg()] on mount option utilities
Vociferix Feb 8, 2026
2bc26aa
direct-mount implementation for FreeBSD
Vociferix Feb 8, 2026
2de658c
fixed macos and freebsd lints
Vociferix Feb 8, 2026
15909d2
cleanup and fixed a few mistakes/oversights
Vociferix Feb 8, 2026
c7fbf54
implemented BSD specific version of MountImpl::should_auto_unmount
Vociferix Feb 8, 2026
fd307d2
small correction to direct-mount linux test cases
Vociferix Feb 8, 2026
a176799
updated direct-mount MountImpl::unmount_impl to properly check if the…
Vociferix Feb 9, 2026
608fa07
Merge branch 'master' into direct-mount
Vociferix Feb 16, 2026
0f4f455
direct-mount waits for auto unmount daemon on unmount, and changed to…
Vociferix Feb 16, 2026
4ce1d62
CI bump
Vociferix Feb 16, 2026
35ab821
CI bump
Vociferix Feb 19, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,7 @@ libfuse2 = ["libfuse"]
libfuse3 = ["libfuse"]
serializable = ["serde"]
macfuse-4-compat = []
direct-mount = ["nix/resource", "nix/signal"]
# abi-7-xx feature flags are deprecated and don't do anything.
abi-7-20 = []
abi-7-21 = []
Expand Down
8 changes: 6 additions & 2 deletions build.rs
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
fn main() {
// Register rustc cfg for switching between mount implementations.
println!(
"cargo::rustc-check-cfg=cfg(fuser_mount_impl, values(\"pure-rust\", \"libfuse2\", \"libfuse3\", \"macos-no-mount\"))"
"cargo::rustc-check-cfg=cfg(fuser_mount_impl, values(\"direct-mount\", \"pure-rust\", \"libfuse2\", \"libfuse3\", \"macos-no-mount\"))"
);

let target_os =
Expand All @@ -12,7 +12,11 @@ fn main() {
"linux" | "freebsd" | "dragonfly" | "openbsd" | "netbsd"
) && cfg!(not(feature = "libfuse"))
{
println!("cargo::rustc-cfg=fuser_mount_impl=\"pure-rust\"");
if cfg!(feature = "direct-mount") {
println!("cargo::rustc-cfg=fuser_mount_impl=\"direct-mount\"");
} else {
println!("cargo::rustc-cfg=fuser_mount_impl=\"pure-rust\"");
}
} else if target_os == "macos" {
if cfg!(feature = "macos-no-mount") {
println!("cargo::rustc-cfg=fuser_mount_impl=\"macos-no-mount\"");
Expand Down
Loading