block: vhdx: impl DiskSize for VhdxDiskSync

Delegates to Vhdx::virtual_disk_size() which is infallible.

Signed-off-by: Anatol Belski <anbelski@linux.microsoft.com>
This commit is contained in:
Anatol Belski
2026-03-25 16:36:15 +01:00
committed by Bo Chen
parent b8b32f5927
commit 3164b66cb5

View File

@@ -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<u64> {
Ok(self.vhdx_file.lock().unwrap().virtual_disk_size())
}
}
impl DiskFile for VhdxDiskSync {
fn logical_size(&mut self) -> DiskFileResult<u64> {
Ok(self.vhdx_file.lock().unwrap().virtual_disk_size())