]> git.ipfire.org Git - thirdparty/qemu.git/commit
qcow2: Fix copy_sectors() with VM state
authorKevin Wolf <kwolf@redhat.com>
Wed, 26 Mar 2014 12:06:03 +0000 (13:06 +0100)
committerStefan Hajnoczi <stefanha@redhat.com>
Tue, 1 Apr 2014 13:22:35 +0000 (15:22 +0200)
commit6b7d4c55586a849aa8313282d79432917eade3bf
tree3943ce5cd33c4c8f11c410d43e4601601e5ff2b5
parent8f4754ede56e3f9ea3fd7207f4a7c4453e59285b
qcow2: Fix copy_sectors() with VM state

bs->total_sectors is not the highest possible sector number that could
be involved in a copy on write operation: VM state is after the end of
the virtual disk. This resulted in wrong values for the number of
sectors to be copied (n).

The code that checks for the end of the image isn't required any more
because the code hasn't been calling the block layer's bdrv_read() for a
long time; instead, it directly calls qcow2_readv(), which doesn't error
out on VM state sector numbers.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/qcow2-cluster.c
tests/qemu-iotests/029
tests/qemu-iotests/029.out