[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PULL 01/27] Changing error message of QMP 'migrate_set_dow
From: |
Dr. David Alan Gilbert (git) |
Subject: |
[Qemu-devel] [PULL 01/27] Changing error message of QMP 'migrate_set_downtime' to seconds |
Date: |
Tue, 28 Feb 2017 12:40:30 +0000 |
From: Daniel Henrique Barboza <address@hidden>
Using QMP, the error message of 'migrate_set_downtime' was displaying
the values in milliseconds, being misleading with the command that
accepts the value in seconds:
{ "execute": "migrate_set_downtime", "arguments": {"value": 3000}}
{"error": {"class": "GenericError", "desc": "Parameter 'downtime_limit'
expects an integer in the range of 0 to 2000000 milliseconds"}}
This message is also seen in HMP when trying to set the same
parameter:
(qemu) migrate_set_parameter downtime-limit 3000000
Parameter 'downtime_limit' expects an integer in the range of 0 to
2000000 milliseconds
To allow for a proper error message when using QMP, a validation
of the user input was added in 'qmp_migrate_set_downtime'.
Signed-off-by: Daniel Henrique Barboza <address@hidden>
Message-Id: <address@hidden>
Reviewed-by: Juan Quintela <address@hidden>
Signed-off-by: Dr. David Alan Gilbert <address@hidden>
---
migration/migration.c | 20 ++++++++++++++++----
1 file changed, 16 insertions(+), 4 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index c6ae69d..4fab538 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -49,6 +49,10 @@
* for sending the last part */
#define DEFAULT_MIGRATE_SET_DOWNTIME 300
+/* Maximum migrate downtime set to 2000 seconds */
+#define MAX_MIGRATE_DOWNTIME_SECONDS 2000
+#define MAX_MIGRATE_DOWNTIME (MAX_MIGRATE_DOWNTIME_SECONDS * 1000)
+
/* Default compression thread count */
#define DEFAULT_MIGRATE_COMPRESS_THREAD_COUNT 8
/* Default decompression thread count, usually decompression is at
@@ -843,10 +847,11 @@ void qmp_migrate_set_parameters(MigrationParameters
*params, Error **errp)
return;
}
if (params->has_downtime_limit &&
- (params->downtime_limit < 0 || params->downtime_limit > 2000000)) {
- error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
- "downtime_limit",
- "an integer in the range of 0 to 2000000 milliseconds");
+ (params->downtime_limit < 0 ||
+ params->downtime_limit > MAX_MIGRATE_DOWNTIME)) {
+ error_setg(errp, "Parameter 'downtime_limit' expects an integer in "
+ "the range of 0 to %d milliseconds",
+ MAX_MIGRATE_DOWNTIME);
return;
}
if (params->has_x_checkpoint_delay && (params->x_checkpoint_delay < 0)) {
@@ -1289,6 +1294,13 @@ void qmp_migrate_set_speed(int64_t value, Error **errp)
void qmp_migrate_set_downtime(double value, Error **errp)
{
+ if (value < 0 || value > MAX_MIGRATE_DOWNTIME_SECONDS) {
+ error_setg(errp, "Parameter 'downtime_limit' expects an integer in "
+ "the range of 0 to %d seconds",
+ MAX_MIGRATE_DOWNTIME_SECONDS);
+ return;
+ }
+
value *= 1000; /* Convert to milliseconds */
value = MAX(0, MIN(INT64_MAX, value));
--
2.9.3
- [Qemu-devel] [PULL 00/27] migration queue, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 01/27] Changing error message of QMP 'migrate_set_downtime' to seconds,
Dr. David Alan Gilbert (git) <=
- [Qemu-devel] [PULL 02/27] migration/vmstate: renames in (load|save)_state, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 03/27] migration/vmstate: split up vmstate_base_addr, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 04/27] migration/vmstate: fix array of ptr with nullptrs, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 05/27] tests/test-vmstate.c: test array of ptr with null, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 06/27] tests/test-vmstate.c: test array of ptr to primitive, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 07/27] vmstate-static-checker: update white list with spapr_pci, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 08/27] migrate: Introduce a 'dc->vmsd' check to avoid segfault for --only-migratable, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 09/27] migration: fix id leak regression, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 10/27] migration: Update docs to discourage version bumps, Dr. David Alan Gilbert (git), 2017/02/28
- [Qemu-devel] [PULL 12/27] postcopy: Transmit ram size summary word, Dr. David Alan Gilbert (git), 2017/02/28