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:
parent
bab01ed4e8
commit
2a313e5cf6
@ -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;
|
||||||
|
Loading…
Reference in New Issue
Block a user