Skip to content
  • Chunqiang Tang's avatar
    QCOW2: bug fix - read base image beyond its size · e0d9c6f9
    Chunqiang Tang authored
    
    
    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: default avatarChunqiang Tang <ctang@us.ibm.com>
    Signed-off-by: default avatarKevin Wolf <kwolf@redhat.com>
    e0d9c6f9