Am 03.02.2011 16:12, schrieb Chunqiang Tang: > This patch fixes the following bug in QCOW2. For a QCOW2 image that is larger > than its base image, when handling a read request straddling over the end of > the > base image, the QCOW2 driver attempts to read beyond the end of the base image > and the request would fail. > > This bug was found by Fast Virtual Disk (FVD)'s fully automated testing tool. > The following test triggered the bug. > > dd if=/dev/zero of=/var/ramdisk/truth.raw count=0 bs=1 seek=1098561536 > dd if=/dev/zero of=/var/ramdisk/zero-500M.raw count=0 bs=1 seek=593099264 > ./qemu-img create -f qcow2 -ocluster_size=65536,backing_fmt=blksim -b > /var/ramdisk/zero-500M.raw /var/ramdisk/test.qcow2 1098561536 > ./qemu-io --auto --seed=30477694 --truth=/var/ramdisk/truth.raw > --format=qcow2 --test=blksim:/var/ramdisk/test.qcow2 --verify_write=true > --compare_before=false --compare_after=true --round=100000 --parallel=100 > --io_size=10485760 --fail_prob=0 --cancel_prob=0 --instant_qemubh=true > > Signed-off-by: Chunqiang Tang <ct...@us.ibm.com>
Thanks, fixed up the coding style (whitespace) and applied to the block branch. However, I wonder if we can't share some code between qemu_iovec_memset_skip and qemu_iovec_copy. I think a cleanup patch would be possible there. Kevin