From f380b5e24e7dd796d3136c766fc78b9d1374921f Mon Sep 17 00:00:00 2001 From: oech3 <79379754+oech3@users.noreply.github.com> Date: Thu, 13 Aug 2026 21:34:48 +0900 Subject: [PATCH] df: simplify fn find_mount_point --- src/uu/df/src/filesystem.rs | 14 +++----------- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/uu/df/src/filesystem.rs b/src/uu/df/src/filesystem.rs index 1a672642de0..e00964e03ba 100644 --- a/src/uu/df/src/filesystem.rs +++ b/src/uu/df/src/filesystem.rs @@ -74,23 +74,15 @@ pub(crate) fn find_mount_point>(path: P) -> io::Result { let mut current = path.as_ref().canonicalize()?; let current_dev = current.metadata()?.dev(); - loop { - let parent = match current.parent() { - Some(p) if !p.as_os_str().is_empty() => p, - _ => return Ok(current), - }; - + while let Some(parent) = current.parent().filter(|p| !p.as_os_str().is_empty()) { let parent_dev = parent.metadata()?.dev(); - if parent_dev != current_dev { - return Ok(current); - } - - if parent == current { + if parent_dev != current_dev || parent == current { return Ok(current); } current = parent.to_path_buf(); } + Ok(current) } /// Find the mount info that best matches a given filesystem path.