From 854b6862937d4d310335df065dabd88d4bfb39c7 Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 16 Apr 2026 22:40:42 +0200 Subject: [PATCH] block: qcow: Test async alignment() returns SECTOR_SIZE Verify that QcowAsync reports the default SECTOR_SIZE alignment when O_DIRECT is not active. Signed-off-by: Anatol Belski --- block/src/qcow_async.rs | 16 +++++++++++++++- 1 file changed, 15 insertions(+), 1 deletion(-) diff --git a/block/src/qcow_async.rs b/block/src/qcow_async.rs index e65a4ac75..16272f496 100644 --- a/block/src/qcow_async.rs +++ b/block/src/qcow_async.rs @@ -630,7 +630,7 @@ mod unit_tests { use super::*; use crate::disk_file::AsyncDiskFile; use crate::qcow::{QcowFile, RawFile}; - use crate::{BatchRequest, RequestType}; + use crate::{BatchRequest, RequestType, SECTOR_SIZE}; fn create_disk_with_data( file_size: u64, @@ -995,4 +995,18 @@ mod unit_tests { ); } } + + #[test] + fn test_qcow_async_alignment_without_direct_io() { + let file_size = 100 * 1024 * 1024; + let temp_file = TempFile::new().unwrap(); + { + let raw_file = RawFile::new(temp_file.as_file().try_clone().unwrap(), false); + QcowFile::new(raw_file, 3, file_size, true).unwrap(); + } + let disk = QcowDiskAsync::new(temp_file.as_file().try_clone().unwrap(), false, false, true) + .unwrap(); + let async_io = disk.new_async_io(1).unwrap(); + assert_eq!(async_io.alignment(), SECTOR_SIZE); + } }