qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH] Avoid divide by zero when there is no block dev


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH] Avoid divide by zero when there is no block device to migrate
Date: Tue, 11 Jan 2011 12:54:17 +0100
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.15) Gecko/20101027 Fedora/3.0.10-1.fc12 Thunderbird/3.0.10

Am 25.12.2010 21:52, schrieb Pierre Riteau:
> When block migration is requested and no read-write block device is
> present, a divide by zero exception is triggered because
> total_sector_sum equals zero.
> 
> Signed-off-by: Pierre Riteau <address@hidden>

Maybe in this case we should generate an error before actually starting
with block migration. If you bothered to request block migration you
certainly didn't have in mind to do nothing.

> ---
>  block-migration.c |    6 +++++-
>  1 files changed, 5 insertions(+), 1 deletions(-)
> 
> diff --git a/block-migration.c b/block-migration.c
> index 1475325..d62d63e 100644
> --- a/block-migration.c
> +++ b/block-migration.c
> @@ -350,7 +350,11 @@ static int blk_mig_save_bulked_block(Monitor *mon, 
> QEMUFile *f)
>          }
>      }
>  
> -    progress = completed_sector_sum * 100 / block_mig_state.total_sector_sum;
> +    if (block_mig_state.total_sector_sum != 0) {
> +        progress = completed_sector_sum * 100 / 
> block_mig_state.total_sector_sum;

This exceeds 80 characters per line.

> +    } else {
> +        progress = 100;
> +    }
>      if (progress != block_mig_state.prev_progress) {
>          block_mig_state.prev_progress = progress;
>          qemu_put_be64(f, (progress << BDRV_SECTOR_BITS)

Kevin



reply via email to

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