ping ?

On 2016/11/2 15:42, 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.

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

Signed-off-by: zhanghailiang <zhang.zhanghaili...@huawei.com>
Reviewed-by: Eric Blake <ebl...@redhat.com>
---
v2:
- fix the commit message as Eric sugguested.
---
  hmp.c                 | 1 +
  migration/migration.c | 1 +
  2 files changed, 2 insertions(+)

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;



Reply via email to