From fbacc24b997f1503b953a4a83901b48c896c900c Mon Sep 17 00:00:00 2001 From: Niklas Fiekas Date: Wed, 5 Jun 2024 22:29:07 +0200 Subject: [PATCH] madvise on linux only --- src/filesystem.rs | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/filesystem.rs b/src/filesystem.rs index 62caf2a..1cb9e85 100644 --- a/src/filesystem.rs +++ b/src/filesystem.rs @@ -147,7 +147,7 @@ pub(crate) mod os { #[cfg(feature = "mmap")] pub(crate) mod mmap { - use memmap2::{Advice, Mmap, MmapOptions}; + use memmap2::{Mmap, MmapOptions}; use super::*; @@ -172,9 +172,13 @@ pub(crate) mod mmap { fn open(&self, path: &Path) -> io::Result> { let file = fs::File::open(path)?; + // Safety: Contract forwarded to MmapFilesystem::new(). let mmap = unsafe { MmapOptions::new().map(&file)? }; - mmap.advise(Advice::Random)?; + + #[cfg(unix)] + mmap.advise(memmap2::Advice::Random)?; + Ok(Box::new(MmapRandomAccessFile { mmap })) } }