From 5958872943e22f58262cb8b3573fc9cb34543a2d Mon Sep 17 00:00:00 2001 From: Anatol Belski Date: Thu, 23 Apr 2026 21:17:10 +0200 Subject: [PATCH] block: qcow: Add try_clone backend preservation tests Verify that try_clone preserves the backend dispatch for both sync and io_uring backends. Assisted-by: Claude:Opus-4.6 Signed-off-by: Anatol Belski --- block/src/qcow_disk.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/block/src/qcow_disk.rs b/block/src/qcow_disk.rs index 798c354d5..0ccad1e32 100644 --- a/block/src/qcow_disk.rs +++ b/block/src/qcow_disk.rs @@ -237,4 +237,21 @@ mod unit_tests { let disk = QcowDisk::new(file, false, false, true, true).unwrap(); assert_async_io(&disk, true); } + + #[test] + fn try_clone_preserves_sync_dispatch() { + let file = make_qcow_file(); + let disk = QcowDisk::new(file, false, false, true, false).unwrap(); + let cloned = disk.try_clone().unwrap(); + assert_async_io_from_dyn(cloned.as_ref(), false); + } + + #[cfg(feature = "io_uring")] + #[test] + fn try_clone_preserves_io_uring_dispatch() { + let file = make_qcow_file(); + let disk = QcowDisk::new(file, false, false, true, true).unwrap(); + let cloned = disk.try_clone().unwrap(); + assert_async_io_from_dyn(cloned.as_ref(), true); + } }