This is a long-standing issue that has come up many times, and has had several different patches posted to fix it. Virtual PC, and Hyper-V calculate the disk geometry differently for VHD, leading to compatibility issues.
We want to fix these compatibility problems, however we want to make sure we do not break backwards compatibility. There are two areas of compatibility addressed: * Reading images (Patch 1) * Creating images (Patch 3) Please see the commit messages in Patches 1,3 for details. Jeff Cody (4): block/vpc: choose size calculation method based on creator_app field block/vpc: tests for auto-detecting VPC and Hyper-V VHD images block/vpc: give option to force the current_size field in .bdrv_create block/vpc: add tests for image creation force_size parameter block/vpc.c | 102 ++++++++++- tests/qemu-iotests/146 | 200 +++++++++++++++++++++ tests/qemu-iotests/146.out | 82 +++++++++ tests/qemu-iotests/group | 1 + .../sample_images/hyperv2012r2-dynamic.vhd.bz2 | Bin 0 -> 214 bytes .../sample_images/virtualpc-dynamic.vhd.bz2 | Bin 0 -> 212 bytes 6 files changed, 379 insertions(+), 6 deletions(-) create mode 100755 tests/qemu-iotests/146 create mode 100644 tests/qemu-iotests/146.out create mode 100644 tests/qemu-iotests/sample_images/hyperv2012r2-dynamic.vhd.bz2 create mode 100644 tests/qemu-iotests/sample_images/virtualpc-dynamic.vhd.bz2 -- 1.9.3