* [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds
@ 2017-02-17 17:26 Daniel Henrique Barboza
2017-02-17 17:37 ` Paolo Bonzini
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Henrique Barboza @ 2017-02-17 17:26 UTC (permalink / raw)
To: qemu-devel; +Cc: quintela, dgilbert
The previous error message was displaying the values in miliseconds,
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 patch changes it to '2000 seconds' to keep consistency with
the expected parameter.
Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
---
migration/migration.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)
diff --git a/migration/migration.c b/migration/migration.c
index c6ae69d..2dc63b1 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -49,6 +49,9 @@
* for sending the last part */
#define DEFAULT_MIGRATE_SET_DOWNTIME 300
+/* Maximum migrate downtime set to 2000*1000 miliseconds */
+#define MAX_MIGRATE_SET_DOWNTIME (2000 * 1000)
+
/* Default compression thread count */
#define DEFAULT_MIGRATE_COMPRESS_THREAD_COUNT 8
/* Default decompression thread count, usually decompression is at
@@ -843,10 +846,11 @@ void qmp_migrate_set_parameters(MigrationParameters *params, Error **errp)
return;
}
if (params->has_downtime_limit &&
- (params->downtime_limit < 0 || params->downtime_limit > 2000000)) {
+ (params->downtime_limit < 0 ||
+ params->downtime_limit > MAX_MIGRATE_SET_DOWNTIME)) {
error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
"downtime_limit",
- "an integer in the range of 0 to 2000000 milliseconds");
+ "an integer in the range of 0 to 2000 seconds");
return;
}
if (params->has_x_checkpoint_delay && (params->x_checkpoint_delay < 0)) {
--
2.9.3
^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds
2017-02-17 17:26 [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds Daniel Henrique Barboza
@ 2017-02-17 17:37 ` Paolo Bonzini
2017-02-17 19:01 ` Daniel Henrique Barboza
0 siblings, 1 reply; 5+ messages in thread
From: Paolo Bonzini @ 2017-02-17 17:37 UTC (permalink / raw)
To: Daniel Henrique Barboza, qemu-devel; +Cc: dgilbert, quintela
On 17/02/2017 18:26, Daniel Henrique Barboza wrote:
> The previous error message was displaying the values in miliseconds,
> 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 patch changes it to '2000 seconds' to keep consistency with
> the expected parameter.
>
> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
> ---
> migration/migration.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/migration/migration.c b/migration/migration.c
> index c6ae69d..2dc63b1 100644
> --- a/migration/migration.c
> +++ b/migration/migration.c
> @@ -49,6 +49,9 @@
> * for sending the last part */
> #define DEFAULT_MIGRATE_SET_DOWNTIME 300
>
> +/* Maximum migrate downtime set to 2000*1000 miliseconds */
> +#define MAX_MIGRATE_SET_DOWNTIME (2000 * 1000)
> +
> /* Default compression thread count */
> #define DEFAULT_MIGRATE_COMPRESS_THREAD_COUNT 8
> /* Default decompression thread count, usually decompression is at
> @@ -843,10 +846,11 @@ void qmp_migrate_set_parameters(MigrationParameters *params, Error **errp)
> return;
> }
> if (params->has_downtime_limit &&
> - (params->downtime_limit < 0 || params->downtime_limit > 2000000)) {
> + (params->downtime_limit < 0 ||
> + params->downtime_limit > MAX_MIGRATE_SET_DOWNTIME)) {
> error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
> "downtime_limit",
> - "an integer in the range of 0 to 2000000 milliseconds");
> + "an integer in the range of 0 to 2000 seconds");
Perhaps you could use %d and set MAX_MIGRATE_SET_DOWNTIME to 2000?
Though perhaps the migration maintainers are okay with the patch as is.
Paolo
> return;
> }
> if (params->has_x_checkpoint_delay && (params->x_checkpoint_delay < 0)) {
>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds
2017-02-17 17:37 ` Paolo Bonzini
@ 2017-02-17 19:01 ` Daniel Henrique Barboza
2017-02-17 19:38 ` Eric Blake
0 siblings, 1 reply; 5+ messages in thread
From: Daniel Henrique Barboza @ 2017-02-17 19:01 UTC (permalink / raw)
To: Paolo Bonzini, qemu-devel; +Cc: dgilbert, quintela
On 02/17/2017 03:37 PM, Paolo Bonzini wrote:
>
> On 17/02/2017 18:26, Daniel Henrique Barboza wrote:
>> The previous error message was displaying the values in miliseconds,
>> 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 patch changes it to '2000 seconds' to keep consistency with
>> the expected parameter.
>>
>> Signed-off-by: Daniel Henrique Barboza <danielhb@linux.vnet.ibm.com>
>> ---
>> migration/migration.c | 8 ++++++--
>> 1 file changed, 6 insertions(+), 2 deletions(-)
>>
>> diff --git a/migration/migration.c b/migration/migration.c
>> index c6ae69d..2dc63b1 100644
>> --- a/migration/migration.c
>> +++ b/migration/migration.c
>> @@ -49,6 +49,9 @@
>> * for sending the last part */
>> #define DEFAULT_MIGRATE_SET_DOWNTIME 300
>>
>> +/* Maximum migrate downtime set to 2000*1000 miliseconds */
>> +#define MAX_MIGRATE_SET_DOWNTIME (2000 * 1000)
>> +
>> /* Default compression thread count */
>> #define DEFAULT_MIGRATE_COMPRESS_THREAD_COUNT 8
>> /* Default decompression thread count, usually decompression is at
>> @@ -843,10 +846,11 @@ void qmp_migrate_set_parameters(MigrationParameters *params, Error **errp)
>> return;
>> }
>> if (params->has_downtime_limit &&
>> - (params->downtime_limit < 0 || params->downtime_limit > 2000000)) {
>> + (params->downtime_limit < 0 ||
>> + params->downtime_limit > MAX_MIGRATE_SET_DOWNTIME)) {
>> error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
>> "downtime_limit",
>> - "an integer in the range of 0 to 2000000 milliseconds");
>> + "an integer in the range of 0 to 2000 seconds");
> Perhaps you could use %d and set MAX_MIGRATE_SET_DOWNTIME to 2000?
> Though perhaps the migration maintainers are okay with the patch as is.
I did that at first but I got errors on "error_setg" about the extra
parameter.
I even considered using sprintf to format the string but I was afraid it
would be
a little overkill.
Daniel
>
> Paolo
>
>> return;
>> }
>> if (params->has_x_checkpoint_delay && (params->x_checkpoint_delay < 0)) {
>>
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds
2017-02-17 19:01 ` Daniel Henrique Barboza
@ 2017-02-17 19:38 ` Eric Blake
2017-02-17 20:26 ` Markus Armbruster
0 siblings, 1 reply; 5+ messages in thread
From: Eric Blake @ 2017-02-17 19:38 UTC (permalink / raw)
To: Daniel Henrique Barboza, Paolo Bonzini, qemu-devel; +Cc: dgilbert, quintela
[-- Attachment #1: Type: text/plain, Size: 1109 bytes --]
On 02/17/2017 01:01 PM, Daniel Henrique Barboza wrote:
>>> 2000000)) {
>>> + (params->downtime_limit < 0 ||
>>> + params->downtime_limit > MAX_MIGRATE_SET_DOWNTIME)) {
>>> error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
>>> "downtime_limit",
>>> - "an integer in the range of 0 to 2000000
>>> milliseconds");
>>> + "an integer in the range of 0 to 2000 seconds");
>> Perhaps you could use %d and set MAX_MIGRATE_SET_DOWNTIME to 2000?
>> Though perhaps the migration maintainers are okay with the patch as is.
>
> I did that at first but I got errors on "error_setg" about the extra
> parameter.
Ah, right, because QERR_INVALID_PARAMETER_VALUE is a macro that expands
to a fixed printf-style format string where you have to know how many
exact arguments it further expects. The only way around that is to
open-code the error message you want, instead of forcing the use of the
awkward macro.
--
Eric Blake eblake redhat com +1-919-301-3266
Libvirt virtualization library http://libvirt.org
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 604 bytes --]
^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds
2017-02-17 19:38 ` Eric Blake
@ 2017-02-17 20:26 ` Markus Armbruster
0 siblings, 0 replies; 5+ messages in thread
From: Markus Armbruster @ 2017-02-17 20:26 UTC (permalink / raw)
To: Eric Blake
Cc: Daniel Henrique Barboza, Paolo Bonzini, qemu-devel, dgilbert,
quintela
Eric Blake <eblake@redhat.com> writes:
> On 02/17/2017 01:01 PM, Daniel Henrique Barboza wrote:
>
>>>> 2000000)) {
>>>> + (params->downtime_limit < 0 ||
>>>> + params->downtime_limit > MAX_MIGRATE_SET_DOWNTIME)) {
>>>> error_setg(errp, QERR_INVALID_PARAMETER_VALUE,
>>>> "downtime_limit",
>>>> - "an integer in the range of 0 to 2000000
>>>> milliseconds");
>>>> + "an integer in the range of 0 to 2000 seconds");
>>> Perhaps you could use %d and set MAX_MIGRATE_SET_DOWNTIME to 2000?
>>> Though perhaps the migration maintainers are okay with the patch as is.
>>
>> I did that at first but I got errors on "error_setg" about the extra
>> parameter.
>
> Ah, right, because QERR_INVALID_PARAMETER_VALUE is a macro that expands
> to a fixed printf-style format string where you have to know how many
> exact arguments it further expects. The only way around that is to
> open-code the error message you want, instead of forcing the use of the
> awkward macro.
Go ahead and open-code whenever that results in better error messages.
^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2017-02-17 20:26 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-02-17 17:26 [Qemu-devel] [PATCH] Changing error message of QMP 'migrate_set_downtime' to seconds Daniel Henrique Barboza
2017-02-17 17:37 ` Paolo Bonzini
2017-02-17 19:01 ` Daniel Henrique Barboza
2017-02-17 19:38 ` Eric Blake
2017-02-17 20:26 ` Markus Armbruster
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).