qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] propagate write_refcount_block_entries error


From: Kevin Wolf
Subject: [Qemu-devel] Re: [PATCH] propagate write_refcount_block_entries error
Date: Tue, 01 Jun 2010 16:38:16 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4

Am 01.06.2010 16:11, schrieb Juan Quintela:
> Signed-off-by: Juan Quintela <address@hidden>
> ---
>  block/qcow2-refcount.c |   16 ++++++++--------
>  1 files changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/block/qcow2-refcount.c b/block/qcow2-refcount.c
> index 744107c..4226dce 100644
> --- a/block/qcow2-refcount.c
> +++ b/block/qcow2-refcount.c
> @@ -460,10 +460,10 @@ static int QEMU_WARN_UNUSED_RESULT 
> update_refcount(BlockDriverState *bs,
>          table_index = cluster_index >> (s->cluster_bits - REFCOUNT_SHIFT);
>          if ((old_table_index >= 0) && (table_index != old_table_index)) {
> 
> -            if (write_refcount_block_entries(bs, refcount_block_offset,
> -                first_index, last_index) < 0)
> -            {
> -                return -EIO;
> +            ret = write_refcount_block_entries(bs, refcount_block_offset,
> +                                               first_index, last_index);
> +            if (ret < 0) {
> +                return ret;
>              }
> 
>              first_index = -1;
> @@ -505,10 +505,10 @@ fail:
> 
>      /* Write last changed block to disk */
>      if (refcount_block_offset != 0) {
> -        if (write_refcount_block_entries(bs, refcount_block_offset,
> -            first_index, last_index) < 0)
> -        {
> -            return ret < 0 ? ret : -EIO;
> +        int write_ret = write_refcount_block_entries(bs, 
> refcount_block_offset,
> +                                                     first_index, 
> last_index);
> +        if (write_ret < 0){
> +            return ret < 0 ? ret : write_ret;
>          }
>      }
> 

Something similar (but more complete) is already queued:
http://repo.or.cz/w/qemu/kevin.git/commitdiff/b10200c1

Thanks anyway, the idea is the right one. :-)

Kevin



reply via email to

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