]> git.proxmox.com Git - mirror_qemu.git/commit - block/qcow2-refcount.c
qcow2: Make qcow2_alloc_bytes() more explicit
authorMax Reitz <mreitz@redhat.com>
Fri, 11 Sep 2015 16:47:51 +0000 (18:47 +0200)
committerKevin Wolf <kwolf@redhat.com>
Mon, 14 Sep 2015 14:51:37 +0000 (16:51 +0200)
commit2ac01520be8717f3492b10a083c3e0e22cb52cda
treecf39358b64bb3eb0d227db2b753d163f8012797a
parent3efffc3292d94271a15b1606b4a56adf6c6f04ed
qcow2: Make qcow2_alloc_bytes() more explicit

In case of -EAGAIN returned by update_refcount(), we should discard the
cluster offset we were trying to allocate and request a new one, because
in theory that old offset might now be taken by a refcount block.

In practice, this was not the case due to update_refcount() generally
returning strictly monotonic increasing cluster offsets. However, this
behavior is not set in stone, and it is also not obvious when looking at
qcow2_alloc_bytes() alone, so we should not rely on it.

Reported-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Max Reitz <mreitz@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
block/qcow2-refcount.c