diff --git a/block/src/vhdx_sync.rs b/block/src/vhdx_sync.rs index a99f4f6f9..7a863a864 100644 --- a/block/src/vhdx_sync.rs +++ b/block/src/vhdx_sync.rs @@ -14,8 +14,9 @@ use crate::async_io::{ }; use crate::error::{BlockError, BlockErrorKind, BlockResult, ErrorOp}; use crate::vhdx::Vhdx; -use crate::{AsyncAdaptor, BlockBackend, Error}; +use crate::{AsyncAdaptor, BlockBackend, Error, disk_file}; +#[derive(Debug)] pub struct VhdxDiskSync { // FIXME: The Mutex serializes all VHDX I/O operations across queues, which // is necessary for correctness but eliminates any parallelism benefit from @@ -38,6 +39,12 @@ impl VhdxDiskSync { } } +impl disk_file::DiskSize for VhdxDiskSync { + fn logical_size(&self) -> BlockResult { + Ok(self.vhdx_file.lock().unwrap().virtual_disk_size()) + } +} + impl DiskFile for VhdxDiskSync { fn logical_size(&mut self) -> DiskFileResult { Ok(self.vhdx_file.lock().unwrap().virtual_disk_size())