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; 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);