diff --git a/block/src/raw_async.rs b/block/src/raw_async.rs index 7dcda5bbd..477077eff 100644 --- a/block/src/raw_async.rs +++ b/block/src/raw_async.rs @@ -82,6 +82,14 @@ impl disk_file::DiskSize for RawFileDisk { } } +impl disk_file::PhysicalSize for RawFileDisk { + 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 RawFileAsync { fd: RawFd, io_uring: IoUring,