* Juan Quintela ([email protected]) 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 <[email protected]>
> ---
> migration/migration.c | 6 ++----
> migration/ram.c | 8 +++-----
> migration/ram.h | 2 +-
> 3 files changed, 6 insertions(+), 10 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index 3feffb5e26..f3d4503ce2 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -1371,14 +1371,12 @@ void qmp_migrate_cancel(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) {
That's not consistent with the function below; it returns
'0 or negative' for error; this check only tests for negative
as an error.
Dave
> 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 c84f22d759..ed4d3c6295 100644
> --- a/migration/ram.c
> +++ b/migration/ram.c
> @@ -111,15 +111,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 the 0 or negative in case of 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) {
> @@ -152,8 +152,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;
> diff --git a/migration/ram.h b/migration/ram.h
> index 511b3dc582..c8ae382b5b 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 / [email protected] / Manchester, UK