migration: No need to return the size of the cache

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 <quintela@redhat.com>
Reviewed-by: Dr. David Alan Gilbert <dgilbert@redhat.com>

--

Improve error messasge
Return 0 always for success
This commit is contained in:
Juan Quintela 2017-10-06 23:03:55 +02:00
parent 2a313e5cf6
commit c9dede2d48
3 changed files with 7 additions and 11 deletions

View File

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

View File

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

View File

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