From 5455ed20766c5b2166ee2bd14be332af2e07e017 Mon Sep 17 00:00:00 2001 From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com> Date: Sat, 21 Mar 2026 14:26:29 +0000 Subject: [PATCH] fix: treat nfs4 mounts as soundless Co-authored-by: sxyazi <17523360+sxyazi@users.noreply.github.com> Agent-Logs-Url: https://github.com/sxyazi/yazi/sessions/ba27f406-31b3-4aef-8352-563444281d30 --- yazi-fs/src/mounts/partition.rs | 22 +++++++++++++++++++++- 1 file changed, 21 insertions(+), 1 deletion(-) diff --git a/yazi-fs/src/mounts/partition.rs b/yazi-fs/src/mounts/partition.rs index ccbab9da..c1a715ee 100644 --- a/yazi-fs/src/mounts/partition.rs +++ b/yazi-fs/src/mounts/partition.rs @@ -25,7 +25,7 @@ impl Partition { // and should be polled for changes. pub fn soundless(&self) -> bool { let b: &[u8] = self.fstype.as_ref().map_or(b"", |s| s.as_encoded_bytes()); - matches!(b, b"fuse.rclone") + matches!(b, b"fuse.rclone" | b"nfs4") } #[rustfmt::skip] @@ -46,6 +46,26 @@ impl Partition { } } +#[cfg(test)] +mod tests { + use super::Partition; + + #[test] + fn soundless_mount_types_include_nfs4() { + let partition = + Partition { fstype: Some("nfs4".into()), ..Default::default() }; + assert!(partition.soundless()); + + let partition = + Partition { fstype: Some("fuse.rclone".into()), ..Default::default() }; + assert!(partition.soundless()); + + let partition = + Partition { fstype: Some("ext4".into()), ..Default::default() }; + assert!(!partition.soundless()); + } +} + impl Partition { #[cfg(any(target_os = "linux", target_os = "macos"))] pub(super) fn new(name: &std::ffi::OsStr) -> Self {