From 1069505151baea26c9e494c46d8e13a172b706ad Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Fri, 27 Mar 2026 13:03:17 +0100 Subject: [PATCH] performance-metrics: Add empty async QCOW2 tempfile helper Add empty_qcow_async_tempfile which creates an empty QCOW2 image and opens it via QcowDiskAsync. Mirrors the existing empty_qcow_tempfile for io_uring write benchmarks. Signed-off-by: Anatol Belski --- performance-metrics/src/util.rs | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/performance-metrics/src/util.rs b/performance-metrics/src/util.rs index 6482bd115..953617393 100644 --- a/performance-metrics/src/util.rs +++ b/performance-metrics/src/util.rs @@ -158,6 +158,14 @@ pub fn empty_qcow_tempfile(num_clusters: usize) -> (TempFile, QcowDiskSync) { (tmp, disk) } +/// Empty QCOW2 opened via QcowDiskAsync. +pub fn empty_qcow_async_tempfile(num_clusters: usize) -> (TempFile, QcowDiskAsync) { + let tmp = create_empty_qcow_tempfile(num_clusters); + let disk = QcowDiskAsync::new(tmp.as_file().try_clone().unwrap(), false, false, true) + .expect("failed to open qcow2 via QcowDiskAsync"); + (tmp, disk) +} + /// Create a QCOW2 overlay backed by a raw file with `num_clusters` /// pre-populated clusters. Returns (backing_tempfile, overlay_tempfile). fn create_overlay_tempfiles(num_clusters: usize) -> (TempFile, TempFile) {