diff --git a/Cargo.lock b/Cargo.lock index e91623bf5..d7f2d00ac 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -4185,6 +4185,7 @@ version = "0.9.0" dependencies = [ "clap", "fluent", + "rustix", "uucore", ] diff --git a/src/uu/sum/Cargo.toml b/src/uu/sum/Cargo.toml index 360597ffc..11b558b57 100644 --- a/src/uu/sum/Cargo.toml +++ b/src/uu/sum/Cargo.toml @@ -21,6 +21,7 @@ doctest = false [dependencies] clap = { workspace = true } +rustix = { workspace = true } uucore = { workspace = true } fluent = { workspace = true } diff --git a/src/uu/sum/src/sum.rs b/src/uu/sum/src/sum.rs index d16718612..c4a559e4d 100644 --- a/src/uu/sum/src/sum.rs +++ b/src/uu/sum/src/sum.rs @@ -89,6 +89,8 @@ fn open(name: &OsString) -> UResult> { )); } let f = File::open(path).map_err_context(String::new)?; + #[cfg(any(target_os = "linux", target_os = "android", target_os = "freebsd"))] + let _ = rustix::fs::fadvise(&f, 0, None, rustix::fs::Advice::Sequential); Ok(Box::new(f) as Box) } }