qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 3/5] migration: No need to return the size of


From: Dr. David Alan Gilbert
Subject: Re: [Qemu-devel] [PATCH v3 3/5] migration: No need to return the size of the cache
Date: Wed, 25 Oct 2017 18:28:36 +0100
User-agent: Mutt/1.9.1 (2017-09-22)

* Juan Quintela (address@hidden) wrote:
> After the previous commits, we make sure that the value passed is
> right, or we just drop an error.  So now we return if there is one
> error or we have setup correctly the value passed.
> 
> Signed-off-by: Juan Quintela <address@hidden>
> 
> --
> 
> Improve error messasge
> Return 0 always for success
> ---
>  migration/migration.c |  6 ++----
>  migration/ram.c       | 10 ++++------
>  migration/ram.h       |  2 +-
>  3 files changed, 7 insertions(+), 11 deletions(-)
> 
> diff --git a/migration/migration.c b/migration/migration.c
> index 62761d5705..6bbd4715d3 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1406,14 +1406,12 @@ void qmp_migrate_continue(MigrationStatus state, 
> Error **errp)
>  void qmp_migrate_set_cache_size(int64_t value, Error **errp)
>  {
>      MigrationState *s = migrate_get_current();
> -    int64_t new_size;
>  
> -    new_size = xbzrle_cache_resize(value, errp);
> -    if (new_size < 0) {
> +    if (xbzrle_cache_resize(value, errp) < 0) {
>          return;
>      }
>  
> -    s->xbzrle_cache_size = new_size;
> +    s->xbzrle_cache_size = value;
>  }
>  
>  int64_t qmp_query_migrate_cache_size(Error **errp)
> diff --git a/migration/ram.c b/migration/ram.c
> index 42f3b7cb28..997340c7c2 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -112,15 +112,15 @@ static void XBZRLE_cache_unlock(void)
>   * migration may be using the cache and might finish during this call,
>   * hence changes to the cache are protected by XBZRLE.lock().
>   *
> - * Returns the new_size or negative in case of error.
> + * Returns 0 for success or -1 for error
>   *
>   * @new_size: new cache size
>   * @errp: set *errp if the check failed, with reason
>   */
> -int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
> +int xbzrle_cache_resize(int64_t new_size, Error **errp)
>  {
>      PageCache *new_cache;
> -    int64_t ret;
> +    int64_t ret = 0;
>  
>      /* Check for truncation */
>      if (new_size != (size_t)new_size) {
> @@ -138,7 +138,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error 
> **errp)
>  
>      if (new_size == migrate_xbzrle_cache_size()) {
>          /* nothing to do */
> -        return new_size;
> +        return 0;
>      }
>  
>      XBZRLE_cache_lock();
> @@ -153,8 +153,6 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error 
> **errp)
>          cache_fini(XBZRLE.cache);
>          XBZRLE.cache = new_cache;
>      }
> -
> -    ret = new_size;
>  out:
>      XBZRLE_cache_unlock();
>      return ret;

OK, this shares the same oddity as the original which is
  XBZRLE.cache = NULL    is not an error.

but, since that is the same as the original;


Reviewed-by: Dr. David Alan Gilbert <address@hidden>

> diff --git a/migration/ram.h b/migration/ram.h
> index f9f7eef894..64d81e9f1d 100644
> --- a/migration/ram.h
> +++ b/migration/ram.h
> @@ -35,7 +35,7 @@
>  extern MigrationStats ram_counters;
>  extern XBZRLECacheStats xbzrle_counters;
>  
> -int64_t xbzrle_cache_resize(int64_t new_size, Error **errp);
> +int xbzrle_cache_resize(int64_t new_size, Error **errp);
>  uint64_t ram_bytes_remaining(void);
>  uint64_t ram_bytes_total(void);
>  
> -- 
> 2.13.6
> 
--
Dr. David Alan Gilbert / address@hidden / Manchester, UK



reply via email to

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