[Top][All Lists]
[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