]> git.proxmox.com Git - qemu.git/commit
qcow2: Fix order in L2 table COW
authorKevin Wolf <kwolf@redhat.com>
Wed, 9 Feb 2011 16:36:19 +0000 (17:36 +0100)
committerKevin Wolf <kwolf@redhat.com>
Thu, 10 Feb 2011 12:24:29 +0000 (13:24 +0100)
commit16fde5f2c2788232b16c06d34d0459a5c1ec1f6c
treee92076b0f8ebc5a78a68a6ae347fc5744c06e9f0
parenta9ae2bffea62ce5158be7475fe41e5fba6d026c1
qcow2: Fix order in L2 table COW

When copying L2 tables (this happens only with internal snapshots), the order
wasn't completely safe, so that after a crash you could end up with a L2 table
that has too low refcount, possibly leading to corruption in the long run.

This patch puts the operations in the right order: First allocate the new
L2 table and replace the reference, and only then decrease the refcount of the
old table.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qcow2-cluster.c