On 27/10/17 18:12, Jeff Cody wrote: > On Wed, Oct 25, 2017 at 05:06:37PM +1100, Alexey Kardashevskiy wrote: >> On 25/10/17 15:29, Alexey Kardashevskiy wrote: >>> Hi! >>> >>> The latest QEMU fails on: >>> tests/qemu-iotests/check -vhdx 194 >> >> >> Bit more details: >> >> 1. the assert started appearing from >> https://git.qemu.org/?p=qemu.git;a=commit;h=09e0c771e47 - this one just >> added the assert; >> >> 2. if removed, then another assert alerts: >> qemu-system-ppc64: /home/aik/p/qemu/block/io.c:1423: bdrv_aligned_pwritev: >> Assertion `child->perm & BLK_PERM_WRITE' failed. >> >> child->perm == 1 when this happens. >> >> Any clues? >> > > Yes - what is happening is that if the VHDX image file is open RDWR, we > update the VHDX header. However, since we are INMIGRATE, the > underlying file bs is marked as INACTIVE, and we are caught by the assert. > > > However, per the spec the header file and data guids only need to be updated > before the first modification is made. We already have a latching call to > update the headers on the first write to the VHDX image (in vhdx_co_writev), > so the call to vhdx_update_headers() in vhdx_open() is a bug, and can be > removed. > > Once that is fixed, 194 still fails for VHDX, but it doesn't crash. The > failure is expected, because VHDX does not support migration (VMDK fails the > same way).
Probably a very ignorant question but how can an image format not support migration at all? Is not it simple writing blocks, one-by-one? Thanks. > So test 194 should also be updated to exclude image formats that > set migration blockers. > > (Patches sent) -- Alexey