diff --git a/block/src/raw_disk.rs b/block/src/raw_disk.rs index 616c6d983..a6d3eab5c 100644 --- a/block/src/raw_disk.rs +++ b/block/src/raw_disk.rs @@ -151,7 +151,7 @@ mod unit_tests { use super::*; use crate::async_io::AsyncIo; - use crate::disk_file::{AsyncDiskFile, DiskSize, Resizable}; + use crate::disk_file::{AsyncDiskFile, DiskSize, PhysicalSize, Resizable}; const TEST_SIZE: u64 = 0x1122_3344; @@ -249,4 +249,12 @@ mod unit_tests { disk.resize(new_size).unwrap(); assert_eq!(disk.logical_size().unwrap(), new_size); } + + #[test] + fn physical_size_reports_allocated_blocks() { + let file = make_raw_file(); + let disk = RawDisk::new(file, RawBackend::Aio); + // Sparse file: physical size is less than logical size. + assert!(disk.physical_size().unwrap() < disk.logical_size().unwrap()); + } }