diff --git a/block/src/raw_sync.rs b/block/src/raw_sync.rs index 23f2d10e5..35eb2fbf4 100644 --- a/block/src/raw_sync.rs +++ b/block/src/raw_sync.rs @@ -73,6 +73,14 @@ impl disk_file::DiskSize for RawFileDiskSync { } } +impl disk_file::PhysicalSize for RawFileDiskSync { + fn physical_size(&self) -> BlockResult { + query_device_size(&self.file) + .map(|(_, physical_size)| physical_size) + .map_err(|e| BlockError::new(BlockErrorKind::Io, DiskFileError::Size(e))) + } +} + pub struct RawFileSync { fd: RawFd, eventfd: EventFd,