qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_f


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH 04/18] savevm: set right return value for qemu_file_rate_limit
Date: Wed, 21 Aug 2013 12:42:32 +0200
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/20130805 Thunderbird/17.0.8

Il 21/08/2013 09:18, Lei Li ha scritto:
> Commit 1964a397063967acc5ce71a2a24ed26e74824ee1 refactors rate
> limiting to QEMUFile, but set the return value for qemu_file_rate_limit
> to 1 in the case of qemu_file_get_error. It is wrong and should be negative
> compared to the original function buffered_rate_limit and the current logic
> in ram_save_iterate. As qemu_file_rate_limit is called manually to determine
> if it has to exit, add the definition of the meaning of the return values
> as well.

When there is an error it returns "time to stop" so that ultimately we
get to the migration_thread function and check qemu_file_get_error there.

Why doesn't this work for you?

Paolo

> Signed-off-by: Lei Li <address@hidden>
> ---
>  savevm.c |   14 ++++++++++++--
>  1 files changed, 12 insertions(+), 2 deletions(-)
> 
> diff --git a/savevm.c b/savevm.c
> index 68552a7..6362275 100644
> --- a/savevm.c
> +++ b/savevm.c
> @@ -904,10 +904,20 @@ int64_t qemu_ftell(QEMUFile *f)
>      return f->pos;
>  }
>  
> +/*
> + * The meaning of the return values is:
> + *   0: We can continue sending
> + *   1: Time to stop
> + *   negative: There has been an error
> + */
> +
>  int qemu_file_rate_limit(QEMUFile *f)
>  {
> -    if (qemu_file_get_error(f)) {
> -        return 1;
> +    int ret;
> +
> +    ret = qemu_file_get_error(f);
> +    if (ret) {
> +        return ret;
>      }
>      if (f->xfer_limit > 0 && f->bytes_xfer > f->xfer_limit) {
>          return 1;
> 




reply via email to

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