qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 1/4] qcow2: Clean-up update_cluster_refcount().


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH 1/4] qcow2: Clean-up update_cluster_refcount().
Date: Thu, 06 Nov 2008 18:32:48 +0100
User-agent: Thunderbird 2.0.0.17 (X11/20080922)

Laurent Vivier schrieb:
> pièce jointe document texte brut
> (0001-Clean-up-update_cluster_refcount.patch)
> Move some parts to alloc_refcount_block() and block cache
>  checking to load_refcount_block().
> 
> Signed-off-by: Laurent Vivier <address@hidden>
> ---
>  block-qcow2.c |   71 
> +++++++++++++++++++++++++++++++++++-----------------------
>  1 file changed, 43 insertions(+), 28 deletions(-)
> 
> Index: qemu/block-qcow2.c
> ===================================================================
> --- qemu.orig/block-qcow2.c   2008-11-06 16:34:46.000000000 +0100
> +++ qemu/block-qcow2.c        2008-11-06 16:40:27.000000000 +0100
> @@ -2169,6 +2169,10 @@ static int load_refcount_block(BlockDriv
>  {
>      BDRVQcowState *s = bs->opaque;
>      int ret;
> +
> +    if (refcount_block_offset == s->refcount_block_cache_offset)
> +        return 0;
> +
>      ret = bdrv_pread(s->hd, refcount_block_offset, s->refcount_block_cache,
>                       s->cluster_size);
>      if (ret != s->cluster_size)
> @@ -2189,11 +2193,8 @@ static int get_refcount(BlockDriverState
>      refcount_block_offset = s->refcount_table[refcount_table_index];
>      if (!refcount_block_offset)
>          return 0;
> -    if (refcount_block_offset != s->refcount_block_cache_offset) {
> -        /* better than nothing: return allocated if read error */
> -        if (load_refcount_block(bs, refcount_block_offset) < 0)
> -            return 1;
> -    }
> +    if (load_refcount_block(bs, refcount_block_offset) < 0)
> +        return 1;

Please retain the comment saying that 1 is not the correct value but we
default to allocated for safety if the block could not be read. I don't
think this is obvious.

Otherwise the patch looks fine to me.

Kevin




reply via email to

[Prev in Thread] Current Thread [Next in Thread]