diff mbox

migration: fix missing assignment for has_x_checkpoint_delay

Message ID 1477979405-16264-1-git-send-email-zhang.zhanghailiang@huawei.com (mailing list archive)
State New, archived
Headers show

Commit Message

Zhanghailiang Nov. 1, 2016, 5:50 a.m. UTC
We forgot to assign true to params->has_x_checkpoint_delay parameter
in qmp_query_migrate_parameters.

Without this, qmp command 'query-migrate-parameters' doesn't show the
default value for x-checkpoint-delay option.
It doesn't influence output of hmp command 'info migrate_parameters'.

Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
---
 hmp.c                 | 1 +
 migration/migration.c | 1 +
 2 files changed, 2 insertions(+)

Comments

Eric Blake Nov. 1, 2016, 2:27 p.m. UTC | #1
On 11/01/2016 12:50 AM, zhanghailiang wrote:
> We forgot to assign true to params->has_x_checkpoint_delay parameter
> in qmp_query_migrate_parameters.
> 
> Without this, qmp command 'query-migrate-parameters' doesn't show the
> default value for x-checkpoint-delay option.
> It doesn't influence output of hmp command 'info migrate_parameters'.

Well, only because the current code doesn't forcefully assign missing
optional parameters to any other value.  But HMP was relying on
unspecified behavior, that could have broken with any other qapi change.

I might word the commit message:

This also fixes the fact that HMP was relying on unspecified behavior by
reading x_checkpoint_delay without checking has_x_checkpoint_delay.

Up to the maintainer, though, since the patch itself is fine.

> 
> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
> ---
>  hmp.c                 | 1 +
>  migration/migration.c | 1 +
>  2 files changed, 2 insertions(+)

Reviewed-by: Eric Blake <eblake@redhat.com>
Zhanghailiang Nov. 2, 2016, 7:26 a.m. UTC | #2
On 2016/11/1 22:27, Eric Blake wrote:
> On 11/01/2016 12:50 AM, zhanghailiang wrote:
>> We forgot to assign true to params->has_x_checkpoint_delay parameter
>> in qmp_query_migrate_parameters.
>>
>> Without this, qmp command 'query-migrate-parameters' doesn't show the
>> default value for x-checkpoint-delay option.
>> It doesn't influence output of hmp command 'info migrate_parameters'.
>
> Well, only because the current code doesn't forcefully assign missing
> optional parameters to any other value.  But HMP was relying on
> unspecified behavior, that could have broken with any other qapi change.
>
> I might word the commit message:
>
> This also fixes the fact that HMP was relying on unspecified behavior by
> reading x_checkpoint_delay without checking has_x_checkpoint_delay.
>
> Up to the maintainer, though, since the patch itself is fine.
>

OK, thanks, I'd like to fix the message as your said :)

>>
>> Signed-off-by: zhanghailiang <zhang.zhanghailiang@huawei.com>
>> ---
>>   hmp.c                 | 1 +
>>   migration/migration.c | 1 +
>>   2 files changed, 2 insertions(+)
>
> Reviewed-by: Eric Blake <eblake@redhat.com>
>
diff mbox

Patch

diff --git a/hmp.c b/hmp.c
index b5e3f54..02103df 100644
--- a/hmp.c
+++ b/hmp.c
@@ -318,6 +318,7 @@  void hmp_info_migrate_parameters(Monitor *mon, const QDict *qdict)
         monitor_printf(mon, " %s: %" PRId64 " milliseconds",
             MigrationParameter_lookup[MIGRATION_PARAMETER_DOWNTIME_LIMIT],
             params->downtime_limit);
+        assert(params->has_x_checkpoint_delay);
         monitor_printf(mon, " %s: %" PRId64,
             MigrationParameter_lookup[MIGRATION_PARAMETER_X_CHECKPOINT_DELAY],
             params->x_checkpoint_delay);
diff --git a/migration/migration.c b/migration/migration.c
index e331f28..f498ab8 100644
--- a/migration/migration.c
+++ b/migration/migration.c
@@ -593,6 +593,7 @@  MigrationParameters *qmp_query_migrate_parameters(Error **errp)
     params->max_bandwidth = s->parameters.max_bandwidth;
     params->has_downtime_limit = true;
     params->downtime_limit = s->parameters.downtime_limit;
+    params->has_x_checkpoint_delay = true;
     params->x_checkpoint_delay = s->parameters.x_checkpoint_delay;
 
     return params;