qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: [PATCH] qcow2: Fix image creation regression


From: Juan Quintela
Subject: [Qemu-devel] Re: [PATCH] qcow2: Fix image creation regression
Date: Tue, 23 Feb 2010 19:34:25 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/23.1 (gnu/linux)

Kevin Wolf <address@hidden> wrote:
> When checking for errors, commit db89119d compares with the wrong values,
> failing image creation even when there was no error. Additionally, if an
> error has occured, we can't preallocate the image (it's likely broken).
>
> This unbreaks test 023 of qemu-iotests.
>
> Signed-off-by: Kevin Wolf <address@hidden>

Acked-by: Juan Quintela <address@hidden>

in the 1st part, I didnt' noticed the difference last time :(

> ---
>  block/qcow2.c |    4 ++--
>  1 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 6632e6d..0e4cd98 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -986,7 +986,7 @@ static int qcow_create2(const char *filename, int64_t 
> total_size,
>      lseek(fd, s->refcount_block_offset, SEEK_SET);
>      ret = qemu_write_full(fd, s->refcount_block,
>                   ref_clusters * s->cluster_size);
> -    if (ret != s->cluster_size) {
> +    if (ret != ref_clusters * s->cluster_size) {
>          ret = -1;
>          goto exit;
>      }
> @@ -998,7 +998,7 @@ exit:
>      close(fd);
>  
>      /* Preallocate metadata */
> -    if (prealloc) {
> +    if (ret == 0 && prealloc) {
>          BlockDriverState *bs;
>          bs = bdrv_new("");
>          bdrv_open(bs, filename, BDRV_O_CACHE_WB | BDRV_O_RDWR);




reply via email to

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