aboutsummaryrefslogtreecommitdiff
path: root/fpu
diff options
context:
space:
mode:
authorAlberto Garcia <berto@igalia.com>2020-06-17 16:00:36 +0200
committerMax Reitz <mreitz@redhat.com>2020-07-06 08:33:06 +0200
commita5675f390116a927e320984f02f473a6affc9fcd (patch)
tree33283366384bc7c3703cf36c497761c4afd7c018 /fpu
parente8de7ba9ea086c427cd36a10bc3506ac20aa4895 (diff)
downloadqemu-a5675f390116a927e320984f02f473a6affc9fcd.zip
qemu-a5675f390116a927e320984f02f473a6affc9fcd.tar.gz
qemu-a5675f390116a927e320984f02f473a6affc9fcd.tar.bz2
qcow2: Fix preallocation on images with unaligned sizes
When resizing an image with qcow2_co_truncate() using the falloc or full preallocation modes the code assumes that both the old and new sizes are cluster-aligned. There are two problems with this: 1) The calculation of how many clusters are involved does not always get the right result. Example: creating a 60KB image and resizing it (with preallocation=full) to 80KB won't allocate the second cluster. 2) No copy-on-write is performed, so in the previous example if there is a backing file then the first 60KB of the first cluster won't be filled with data from the backing file. This patch fixes both issues. Signed-off-by: Alberto Garcia <berto@igalia.com> Message-Id: <20200617140036.20311-1-berto@igalia.com> Reviewed-by: Eric Blake <eblake@redhat.com> Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'fpu')
0 files changed, 0 insertions, 0 deletions