Merge pull request #296 from rustfs/dev_damon_ps1

fix: fix run error in windows os.
This commit is contained in:
loverustfs
2025-04-09 08:42:14 +08:00
committed by GitHub
8 changed files with 85 additions and 62 deletions
+11 -6
View File
@@ -51,6 +51,7 @@ use path_absolutize::Absolutize;
use std::collections::{HashMap, HashSet};
use std::fmt::Debug;
use std::io::SeekFrom;
#[cfg(unix)]
use std::os::unix::fs::MetadataExt;
use std::sync::atomic::{AtomicU32, Ordering};
use std::sync::Arc;
@@ -383,7 +384,10 @@ impl LocalDisk {
kind => {
if kind.to_string() != "directory not empty" {
warn!("delete_file remove_dir {:?} err {}", &delete_path, kind.to_string());
return Err(Error::from(err));
return Err(Error::new(FileAccessDeniedWithContext {
path: delete_path.clone(),
source: err,
}));
}
}
}
@@ -395,7 +399,10 @@ impl LocalDisk {
ErrorKind::NotFound => (),
_ => {
warn!("delete_file remove_file {:?} err {:?}", &delete_path, &err);
return Err(Error::from(err));
return Err(Error::new(FileAccessDeniedWithContext {
path: delete_path.clone(),
source: err,
}));
}
}
}
@@ -743,12 +750,10 @@ impl LocalDisk {
.await
.map_err(os_err_to_file_err)?;
// let mut data = Vec::new();
// let n = file.read_to_end(&mut data).await?;
let meta = file.metadata().await?;
let file_size = meta.len() as usize;
bitrot_verify(Box::new(file), meta.size() as usize, part_size, algo, sum.to_vec(), shard_size).await
bitrot_verify(Box::new(file), file_size, part_size, algo, sum.to_vec(), shard_size).await
}
async fn scan_dir<W: AsyncWrite + Unpin>(
+2 -1
View File
@@ -1,7 +1,8 @@
#![allow(unsafe_code)] // TODO: audit unsafe code
use super::IOStats;
use crate::{disk::Info, error::Result};
use crate::disk::Info;
use common::error::Result;
use std::io::{Error, ErrorKind};
use std::mem;
use std::os::windows::ffi::OsStrExt;