From aa6a7aea0e6af7c84f9b9e72378e252f1ec20f57 Mon Sep 17 00:00:00 2001 From: Muminul Islam Date: Tue, 24 Mar 2026 17:24:25 -0700 Subject: [PATCH] block: Implement PhysicalSize trait for RawFileDisk Add disk_file::PhysicalSize trait implementation for RawFileDisk. Returns metadata().len() wrapped in BlockError on failure, consistent with the DiskSize impl. Signed-off-by: Muminul Islam --- block/src/raw_async.rs | 8 ++++++++ 1 file changed, 8 insertions(+) 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,