Message ID | 1478072529-8348-1-git-send-email-zhang.zhanghailiang@huawei.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
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.zhanghailiang@huawei.com> > Reviewed-by: Eric Blake <eblake@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; >
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;