]> git.proxmox.com Git - qemu.git/commit
qcow2: Correct snapshots size for overlap check
authorMax Reitz <mreitz@redhat.com>
Thu, 19 Sep 2013 10:29:15 +0000 (12:29 +0200)
committerStefan Hajnoczi <stefanha@redhat.com>
Fri, 20 Sep 2013 10:48:03 +0000 (12:48 +0200)
commit0f39ac9a07cc10278e37d87076b143008f28aa3b
treef91b54819320711a4ffda49d5542291fb58f0cd7
parenta9031675b9f757eef0fe8c99284ec0133c032c32
qcow2: Correct snapshots size for overlap check

Using s->snapshots_size instead of snapshots_size for the metadata
overlap check in qcow2_write_snapshots leads to the detection of an
overlap with the main qcow2 image header when deleting the last
snapshot, since s->snapshots_size has not yet been updated and is
therefore non-zero. However, the offset returned by qcow2_alloc_clusters
will be zero since snapshots_size is zero. Therefore, an overlap is
detected albeit no such will occur.

This patch fixes this by replacing s->snapshots_size by snapshots_size
when calling qcow2_pre_write_overlap_check.

Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
block/qcow2-snapshot.c