]> 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>
Fri, 11 Feb 2011 13:34:06 +0000 (14:34 +0100)
commitc7e9df3bc6bf0cad74081c7492b5aab753bf9cc9
treeaf1aaeba15d175ac54794dc13d21609f875dfac2
parent038a866f8153c45499b80162f8e1b7188620bd8a
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>
(cherry picked from commit 16fde5f2c2788232b16c06d34d0459a5c1ec1f6c)
block/qcow2-cluster.c