From f2c77f06c55eed6aa1fe1720cead864a803c2b0c Mon Sep 17 00:00:00 2001 From: "Paul M." <10599524+1Cor125@users.noreply.github.com> Date: Sun, 13 Jul 2025 23:26:19 -0400 Subject: [PATCH] Update fs4 to latest (0.13.1) (#2654) - One change was needed to handle the `Result` that now returns from `try_lock_exclusive` Co-authored-by: Paul M. --- Cargo.toml | 2 +- src/directory/mmap_directory.rs | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index a66ef1856..2a9d45409 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -33,7 +33,7 @@ tempfile = { version = "3.12.0", optional = true } log = "0.4.16" serde = { version = "1.0.219", features = ["derive"] } serde_json = "1.0.140" -fs4 = { version = "0.8.0", optional = true } +fs4 = { version = "0.13.1", optional = true } levenshtein_automata = "0.2.1" uuid = { version = "1.0.0", features = ["v4", "serde"] } crossbeam-channel = "0.5.4" diff --git a/src/directory/mmap_directory.rs b/src/directory/mmap_directory.rs index 344364944..61e2b6035 100644 --- a/src/directory/mmap_directory.rs +++ b/src/directory/mmap_directory.rs @@ -7,7 +7,7 @@ use std::path::{Path, PathBuf}; use std::sync::{Arc, RwLock, Weak}; use common::StableDeref; -use fs4::FileExt; +use fs4::fs_std::FileExt; #[cfg(all(feature = "mmap", unix))] pub use memmap2::Advice; use memmap2::Mmap; @@ -485,7 +485,9 @@ impl Directory for MmapDirectory { if lock.is_blocking { file.lock_exclusive().map_err(LockError::wrap_io_error)?; } else { - file.try_lock_exclusive().map_err(|_| LockError::LockBusy)? + if !file.try_lock_exclusive().map_err(|_| LockError::LockBusy)? { + return Err(LockError::LockBusy); + } } // dropping the file handle will release the lock. Ok(DirectoryLock::from(Box::new(ReleaseLockFile {