diff --git a/Cargo.lock b/Cargo.lock index d7f2d00ac..e635bb7a6 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -3214,6 +3214,7 @@ version = "0.9.0" dependencies = [ "clap", "fluent", + "rustix", "uucore", ] diff --git a/src/uu/base32/Cargo.toml b/src/uu/base32/Cargo.toml index f03f54904..665c0e486 100644 --- a/src/uu/base32/Cargo.toml +++ b/src/uu/base32/Cargo.toml @@ -20,6 +20,7 @@ doctest = false [dependencies] clap = { workspace = true } +rustix = { workspace = true } uucore = { workspace = true, features = ["encoding"] } fluent = { workspace = true } diff --git a/src/uu/base32/src/base_common.rs b/src/uu/base32/src/base_common.rs index 4e8298673..be90f1e7e 100644 --- a/src/uu/base32/src/base_common.rs +++ b/src/uu/base32/src/base_common.rs @@ -152,6 +152,8 @@ pub fn get_input(config: &Config) -> UResult> { Some(path_buf) => { let file = File::open(path_buf).map_err_context(|| path_buf.maybe_quote().to_string())?; + #[cfg(any(target_os = "linux", target_os = "android", target_os = "freebsd"))] + let _ = rustix::fs::fadvise(&file, 0, None, rustix::fs::Advice::Sequential); Ok(Box::new(BufReader::with_capacity(DEFAULT_BUF_SIZE, file))) } None => {