From 0a7b6b089bcbb243a3d4b2e3b15ce9c81595da17 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 12 Mar 2026 20:56:32 +0100 Subject: [PATCH] block: qcow_sync: impl DiskSize for QcowDiskSync Delegate to QcowMetadata::virtual_size() which returns the guest visible capacity stored in the QCOW2 header. Signed-off-by: Anatol Belski --- block/src/qcow_sync.rs | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/block/src/qcow_sync.rs b/block/src/qcow_sync.rs index 73e7c89ec..ce06ad681 100644 --- a/block/src/qcow_sync.rs +++ b/block/src/qcow_sync.rs @@ -15,6 +15,7 @@ use vmm_sys_util::write_zeroes::{PunchHole, WriteZeroesAt}; use crate::async_io::{ AsyncIo, AsyncIoError, AsyncIoResult, BorrowedDiskFd, DiskFile, DiskFileError, DiskFileResult, }; +use crate::disk_file; use crate::error::{BlockError, BlockErrorKind, BlockResult, ErrorOp}; use crate::qcow::metadata::{ BackingRead, ClusterReadMapping, ClusterWriteMapping, DeallocAction, QcowMetadata, @@ -277,6 +278,12 @@ impl Drop for QcowDiskSync { } } +impl disk_file::DiskSize for QcowDiskSync { + fn logical_size(&self) -> BlockResult { + Ok(self.metadata.virtual_size()) + } +} + pub struct QcowSync { metadata: Arc, data_file: QcowRawFile,