On 2014/11/26 7:30, grhookatw...@gmail.com wrote:

> From: Gary R Hook <gary.h...@nimboxx.com>
> 
> Modify block_save_iterate() to return positive/zero/negative
> (success/not done/failure) return status. The computation of
> the blocks transferred (an int64_t) exceeds the size of an
> int return value.
> 
> Signed-off-by: Gary R Hook <gary.h...@nimboxx.com>
> 
> ---
>  block-migration.c | 10 +++++++++-
>  1 file changed, 9 insertions(+), 1 deletion(-)
> 
> diff --git a/block-migration.c b/block-migration.c
> index 08db01a..74d9eb1 100644
> --- a/block-migration.c
> +++ b/block-migration.c
> @@ -653,6 +653,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
>  {
>      int ret;
>      int64_t last_ftell = qemu_ftell(f);
> +    int64_t delta_ftell;
>  
>      DPRINTF("Enter save live iterate submitted %d transferred %d\n",
>              block_mig_state.submitted, block_mig_state.transferred);
> @@ -702,7 +703,14 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
>      }
>  
>      qemu_put_be64(f, BLK_MIG_FLAG_EOS);
> -    return qemu_ftell(f) - last_ftell;
> +    delta_ftell = qemu_ftell(f) - last_ftell;
> +    if (delta_ftell > 0) {
> +        return 1;
> +    } else if (delta_ftell < 0) {
> +        return -1;
> +    } else {
> +        return 0;
> +    }
>  }
>  
>  /* Called with iothread lock taken.  */


Reviewed-by: ChenLiang <chenlian...@huawei.com>


Reply via email to