[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v4 04/26] qcow2: Only return status from qcow2_g
From: |
Stefan Hajnoczi |
Subject: |
Re: [Qemu-devel] [PATCH v4 04/26] qcow2: Only return status from qcow2_get_refcount |
Date: |
Wed, 10 Dec 2014 15:32:19 +0000 |
User-agent: |
Mutt/1.5.23 (2014-03-12) |
On Wed, Dec 03, 2014 at 02:37:24PM +0100, Max Reitz wrote:
> Refcounts can theoretically be of type uint64_t; in order to be able to
> represent the full range, qcow2_get_refcount() cannot use a single
> variable to represent both all refcount values and also keep some values
> reserved for errors.
>
> One solution would be to add an Error pointer parameter to
> qcow2_get_refcount(); however, no caller could (currently) pass that
> error message, so it would have to be emitted immediately and be
> passed to the next caller by returning -EIO or something similar.
> Therefore, an Error parameter does not offer any advantages here.
>
> The solution applied by this patch is simpler to use. Because no caller
> would be able to pass the error message, they would have to print it and
> free it, whereas with this patch the caller only needs to pass the
> returned integer (which is often a no-op from the code perspective,
> because that integer will be stored in a variable "ret" which will be
> returned by the fail path of many callers).
>
> Signed-off-by: Max Reitz <address@hidden>
> ---
> block/qcow2-cluster.c | 8 ++---
> block/qcow2-refcount.c | 79
> +++++++++++++++++++++++++++-----------------------
> block/qcow2.h | 3 +-
> 3 files changed, 49 insertions(+), 41 deletions(-)
Reviewed-by: Stefan Hajnoczi <address@hidden>
pgpGTFMf3j9Ga.pgp
Description: PGP signature