migration: Don't play games with the requested cache size

Now that we check that the value passed is a power of 2, we don't need
to play games when comparing what is the size that is going to take
the cache.

Signed-off-by: Juan Quintela <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>
This commit is contained in:
Juan Quintela 2017-10-06 23:00:12 +02:00
parent bab01ed4e8
commit 2a313e5cf6

View File

@ -136,12 +136,14 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
return -1; return -1;
} }
if (new_size == migrate_xbzrle_cache_size()) {
/* nothing to do */
return new_size;
}
XBZRLE_cache_lock(); XBZRLE_cache_lock();
if (XBZRLE.cache != NULL) { 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); new_cache = cache_init(new_size, TARGET_PAGE_SIZE, errp);
if (!new_cache) { if (!new_cache) {
ret = -1; ret = -1;
@ -152,8 +154,7 @@ int64_t xbzrle_cache_resize(int64_t new_size, Error **errp)
XBZRLE.cache = new_cache; XBZRLE.cache = new_cache;
} }
out_new_size: ret = new_size;
ret = pow2floor(new_size);
out: out:
XBZRLE_cache_unlock(); XBZRLE_cache_unlock();
return ret; return ret;