* Juan Quintela (quint...@redhat.com) 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 <quint...@redhat.com> > > -- > > 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 <dgilb...@redhat.com> > 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 / dgilb...@redhat.com / Manchester, UK