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