mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-02 23:33:54 -06:00
migrate: move max-bandwidth and downtime-limit to migrate_set_parameter
Mark the old commands 'migrate_set_speed' and 'migrate_set_downtime' as deprecated. Move max-bandwidth and downtime-limit into migrate-set-parameters for setting maximum migration speed and expected downtime limit parameters respectively. Change downtime units to milliseconds (only for new-command) and set its upper bound limit to 2000 seconds. Update the query part in both hmp and qmp qemu control interfaces. Signed-off-by: Ashijeet Acharya <ashijeetacharya@gmail.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Juan Quintela <quintela@redhat.com> Signed-off-by: Juan Quintela <quintela@redhat.com>
This commit is contained in:
parent
9308ae5485
commit
2ff3025797
5 changed files with 107 additions and 40 deletions
27
hmp.c
27
hmp.c
|
@ -310,6 +310,14 @@ void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
|
|||
monitor_printf(mon, " %s: '%s'",
|
||||
MigrationParameter_lookup[MIGRATION_PARAMETER_TLS_HOSTNAME],
|
||||
params->has_tls_hostname ? params->tls_hostname : "");
|
||||
assert(params->has_max_bandwidth);
|
||||
monitor_printf(mon, " %s: %" PRId64 " bytes/second",
|
||||
MigrationParameter_lookup[MIGRATION_PARAMETER_MAX_BANDWIDTH],
|
||||
params->max_bandwidth);
|
||||
assert(params->has_downtime_limit);
|
||||
monitor_printf(mon, " %s: %" PRId64 " milliseconds",
|
||||
MigrationParameter_lookup[MIGRATION_PARAMETER_DOWNTIME_LIMIT],
|
||||
params->downtime_limit);
|
||||
monitor_printf(mon, "\n");
|
||||
}
|
||||
|
||||
|
@ -1265,6 +1273,7 @@ void hmp_migrate_incoming(Monitor *mon, const QDict *qdict)
|
|||
hmp_handle_error(mon, &err);
|
||||
}
|
||||
|
||||
/* Kept for backwards compatibility */
|
||||
void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
double value = qdict_get_double(qdict, "value");
|
||||
|
@ -1283,6 +1292,7 @@ void hmp_migrate_set_cache_size(Monitor *mon, const QDict *qdict)
|
|||
}
|
||||
}
|
||||
|
||||
/* Kept for backwards compatibility */
|
||||
void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict)
|
||||
{
|
||||
int64_t value = qdict_get_int(qdict, "value");
|
||||
|
@ -1323,7 +1333,9 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
|
|||
{
|
||||
const char *param = qdict_get_str(qdict, "parameter");
|
||||
const char *valuestr = qdict_get_str(qdict, "value");
|
||||
int64_t valuebw = 0;
|
||||
long valueint = 0;
|
||||
char *endp;
|
||||
Error *err = NULL;
|
||||
bool use_int_value = false;
|
||||
int i;
|
||||
|
@ -1360,6 +1372,20 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
|
|||
p.has_tls_hostname = true;
|
||||
p.tls_hostname = (char *) valuestr;
|
||||
break;
|
||||
case MIGRATION_PARAMETER_MAX_BANDWIDTH:
|
||||
p.has_max_bandwidth = true;
|
||||
valuebw = qemu_strtosz(valuestr, &endp);
|
||||
if (valuebw < 0 || (size_t)valuebw != valuebw
|
||||
|| *endp != '\0') {
|
||||
error_setg(&err, "Invalid size %s", valuestr);
|
||||
goto cleanup;
|
||||
}
|
||||
p.max_bandwidth = valuebw;
|
||||
break;
|
||||
case MIGRATION_PARAMETER_DOWNTIME_LIMIT:
|
||||
p.has_downtime_limit = true;
|
||||
use_int_value = true;
|
||||
break;
|
||||
}
|
||||
|
||||
if (use_int_value) {
|
||||
|
@ -1375,6 +1401,7 @@ void hmp_migrate_set_parameter(Monitor *mon, const QDict *qdict)
|
|||
p.decompress_threads = valueint;
|
||||
p.cpu_throttle_initial = valueint;
|
||||
p.cpu_throttle_increment = valueint;
|
||||
p.downtime_limit = valueint;
|
||||
}
|
||||
|
||||
qmp_migrate_set_parameters(&p, &err);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue