[io_engine (rust)] get_nr_blocks() wasn't handling block devices.

Now calls file_utils::file_size()
This commit is contained in:
Joe Thornber 2020-12-02 15:20:14 +00:00
parent ba7fd7bd2b
commit 443b3c8f0b

View File

@ -11,6 +11,8 @@ use std::os::unix::io::{AsRawFd, RawFd};
use std::path::Path;
use std::sync::{Arc, Condvar, Mutex};
use crate::file_utils;
//------------------------------------------
pub const BLOCK_SIZE: usize = 4096;
@ -62,8 +64,7 @@ pub trait IoEngine {
}
fn get_nr_blocks(path: &Path) -> io::Result<u64> {
let metadata = std::fs::metadata(path)?;
Ok(metadata.len() / (BLOCK_SIZE as u64))
Ok(file_utils::file_size(path)? / (BLOCK_SIZE as u64))
}
//------------------------------------------