OSDN Git Service

qcow2: Fix return value of alloc_refcount_block
authorKevin Wolf <kwolf@redhat.com>
Wed, 18 Apr 2012 14:27:06 +0000 (16:27 +0200)
committerKevin Wolf <kwolf@redhat.com>
Thu, 19 Apr 2012 14:03:27 +0000 (16:03 +0200)
commit2795ecf681107d55e4113592b3045ece5f6e7b3b
treef53c6b731c6d27fa823719c84c1ddd59fbc6642f
parent8dc0a5e7a06c059683f9c379c0a4b0bbc20d5c74
qcow2: Fix return value of alloc_refcount_block

Someone forgot something in commit 29c1a730... Documenting the right
return value is not enough, you also need to actually return it in the
code.

This bug sometimes causes error return values even when everything has
succeeded: The new offset of the refcount block is truncated to 32 bits
and interpreted as signed. At least with small cluster sizes it's easy
to get a negative return value this way.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Paolo Bonzini <pbonzini@redhat.com>
block/qcow2-refcount.c