diff options
Diffstat (limited to 'migration.c')
-rw-r--r-- | migration.c | 19 |
1 files changed, 19 insertions, 0 deletions
diff --git a/migration.c b/migration.c index 5a5333c44b..a6c007215a 100644 --- a/migration.c +++ b/migration.c @@ -511,6 +511,25 @@ void qmp_migrate_cancel(Error **errp) migrate_fd_cancel(migrate_get_current()); } +void qmp_migrate_set_cache_size(int64_t value, Error **errp) +{ + MigrationState *s = migrate_get_current(); + + /* Check for truncation */ + if (value != (size_t)value) { + error_set(errp, QERR_INVALID_PARAMETER_VALUE, "cache size", + "exceeding address space"); + return; + } + + s->xbzrle_cache_size = xbzrle_cache_resize(value); +} + +int64_t qmp_query_migrate_cache_size(Error **errp) +{ + return migrate_xbzrle_cache_size(); +} + void qmp_migrate_set_speed(int64_t value, Error **errp) { MigrationState *s; |