From aa5aa6fe89fe38597c85084c4529ce5c6d6b782c Mon Sep 17 00:00:00 2001 From: Muminul Islam Date: Tue, 24 Mar 2026 17:35:39 -0700 Subject: [PATCH] block: Implement Geometry trait for RawFileDiskSync Add disk_file::Geometry trait implementation for RawFileDiskSync. Probes disk topology from the file, falling back to defaults on failure. Takes &self instead of &mut self and uses unwrap_or_else for cleaner error handling. Signed-off-by: Muminul Islam --- block/src/raw_sync.rs | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/block/src/raw_sync.rs b/block/src/raw_sync.rs index 46488ff79..c6f30f53e 100644 --- a/block/src/raw_sync.rs +++ b/block/src/raw_sync.rs @@ -87,6 +87,15 @@ impl disk_file::DiskFd for RawFileDiskSync { } } +impl disk_file::Geometry for RawFileDiskSync { + fn topology(&self) -> DiskTopology { + DiskTopology::probe(&self.file).unwrap_or_else(|_| { + warn!("Unable to get device topology. Using default topology"); + DiskTopology::default() + }) + } +} + pub struct RawFileSync { fd: RawFd, eventfd: EventFd,