From 78bbdbef86cf181a8322a997ab7acaebf1a9b0f2 Mon Sep 17 00:00:00 2001 From: Muminul Islam Date: Fri, 27 Mar 2026 23:48:18 -0700 Subject: [PATCH] block: Implement PhysicalSize trait for RawFileDiskAio Add disk_file::PhysicalSize trait implementation for RawFileDiskAio. Returns the physical size from query_device_size wrapped in BlockError on failure, consistent with the DiskSize impl. Signed-off-by: Muminul Islam --- block/src/raw_async_aio.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/block/src/raw_async_aio.rs b/block/src/raw_async_aio.rs index c2da2ccd1..c627318cd 100644 --- a/block/src/raw_async_aio.rs +++ b/block/src/raw_async_aio.rs @@ -78,6 +78,14 @@ impl disk_file::DiskSize for RawFileDiskAio { } } +impl disk_file::PhysicalSize for RawFileDiskAio { + 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 RawFileAsyncAio { fd: RawFd, ctx: aio::IoContext,