Image streaming hangs if the backing image is smaller than the image file. The problem is that the image streaming loop makes no progress when bdrv_co_is_allocated() returns 0 with pnum=0. More details in the actual patch.
I have also included a qemu-iotest to check this scenario. It hangs when run against qemu.git/master and passes when the patch is applied. Stefan Hajnoczi (2): stream: complete early if end of backing file is reached qemu-iotests: add backing file smaller than image test case block/stream.c | 6 ++++++ tests/qemu-iotests/030 | 33 +++++++++++++++++++++++++++++++++ tests/qemu-iotests/030.out | 4 ++-- 3 files changed, 41 insertions(+), 2 deletions(-) -- 1.7.10.4