summaryrefslogtreecommitdiff
path: root/migration/ram.c
diff options
context:
space:
mode:
Diffstat (limited to 'migration/ram.c')
-rw-r--r--migration/ram.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/migration/ram.c b/migration/ram.c
index 7f6327f708..42f3b7cb28 100644
--- a/migration/ram.c
+++ b/migration/ram.c
@@ -136,12 +136,14 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
return -1;
}
+ if (new_size == migrate_xbzrle_cache_size()) {
+ /* nothing to do */
+ return new_size;
+ }
+
XBZRLE_cache_lock();
if (XBZRLE.cache != NULL) {
- if (pow2floor(new_size) == migrate_xbzrle_cache_size()) {
- goto out_new_size;
- }
new_cache = cache_init(new_size, TARGET_PAGE_SIZE, errp);
if (!new_cache) {
ret = -1;
@@ -152,8 +154,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
XBZRLE.cache = new_cache;
}
-out_new_size:
- ret = pow2floor(new_size);
+ ret = new_size;
out:
XBZRLE_cache_unlock();
return ret;