From 8d6a38770f25eb8bad7667a12f820645e383416b Mon Sep 17 00:00:00 2001 From: Alexander Lvov Date: Mon, 20 Jul 2026 18:20:02 +0300 Subject: [PATCH] block: vhdx: restrict logical sector size to 512 bytes cloud-hypervisor always advertises a 512-byte logical block size over virtio-blk, so a 4096-byte-sector VHDx image could never be addressed correctly. Reject it at metadata parse time, matching QEMU's VHDx support. Signed-off-by: Alexander Lvov --- block/src/formats/vhdx/metadata.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/block/src/formats/vhdx/metadata.rs b/block/src/formats/vhdx/metadata.rs index 1bf571050..8ef6c01e0 100644 --- a/block/src/formats/vhdx/metadata.rs +++ b/block/src/formats/vhdx/metadata.rs @@ -175,8 +175,7 @@ impl DiskSpec { f.read_exact_at(&mut item, item_offset) .map_err(VhdxMetadataError::ReadMetadata)?; disk_spec.logical_sector_size = LittleEndian::read_u32(&item); - if !(disk_spec.logical_sector_size == 512 || disk_spec.logical_sector_size == 4096) - { + if disk_spec.logical_sector_size != 512 { return Err(VhdxMetadataError::InvalidLogicalSectorSize); }