Commit c9dede2d authored by Juan Quintela's avatar Juan Quintela
Browse files

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

--

Improve error messasge
Return 0 always for success
parent 2a313e5c
Loading
Loading
Loading
Loading
+2 −4
Original line number Diff line number Diff line
@@ -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)
+4 −6
Original line number Diff line number Diff line
@@ -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;
+1 −1
Original line number Diff line number Diff line
@@ -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);