feat: add mount point exclusion - #600
Closed
wakamex wants to merge 1 commit into
Closed
Conversation
Assisted-by: OpenAI Codex (code generation, testing, code review)
Author
|
After checking my actual mount layout more carefully, |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Why
I use
dustto list immediate project sizes before moving directories between disks, and I want mounted directories omitted explicitly.For my current tree,
-xproduces the same result because the mounted child is on another filesystem. But-xchecks filesystem device metadata throughout the walk, while an explicit mount-point filter can skip known mount targets directly. It also covers same-filesystem bind mounts, which device-ID filtering cannot distinguish from ordinary directories.Paired local timings with byte-identical JSON output:
dust -d 1 -D -x: 28.7 secondsdust -d 1 -D --exclude-mounts: 20.9 secondsWhat changed
--exclude-mountsskips mount points below each supplied path while still allowing a supplied path that is itself mounted.On Linux it reads
/proc/self/mountinfo, which covers same-device bind mounts. Other platforms use the existingsysinfodisk mount-point inventory. The option is also available asexclude-mounts=truein the config file.The README, sample config, man page, and generated shell completions are updated.
Validation
cargo fmt --all -- --checkcargo test --all-targets- 80 tests passedcargo clippy -- -D warningscargo check --target x86_64-pc-windows-gnuOpenAI Codex assisted with code generation, testing, and review. I reviewed and validated the final patch, and the commit includes an
Assisted-bytrailer.