jes.soren...@redhat.com writes: > From: Jes Sorensen <jes.soren...@redhat.com> > > Signed-off-by: Jes Sorensen <jes.soren...@redhat.com> > --- > migration.c | 4 ++-- > qemu-monitor.hx | 2 +- > 2 files changed, 3 insertions(+), 3 deletions(-) > > diff --git a/migration.c b/migration.c > index 468d517..9ee8b17 100644 > --- a/migration.c > +++ b/migration.c > @@ -132,10 +132,10 @@ int do_migrate_cancel(Monitor *mon, const QDict *qdict, > QObject **ret_data) > > int do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject > **ret_data) > { > - double d; > + int64_t d; > FdMigrationState *s; > > - d = qdict_get_double(qdict, "value"); > + d = qdict_get_int(qdict, "value"); > d = MAX(0, MIN(UINT32_MAX, d)); > max_throttle = d;
This isn't backwards bug-compatible. Before, a client could send any number. Any fractional part was ignored. Now, the number must be an integer. Other numbers are rejected. I don't care myself, but others have argued most forcefully for keeping QMP fully backward compatible from 0.13 on, so they might object. > diff --git a/qemu-monitor.hx b/qemu-monitor.hx > index 49bcd8d..7f58fb2 100644 > --- a/qemu-monitor.hx > +++ b/qemu-monitor.hx > @@ -1093,7 +1093,7 @@ EQMP > > { > .name = "migrate_set_speed", > - .args_type = "value:f", > + .args_type = "value:o", > .params = "value", > .help = "set maximum speed (in bytes) for migrations", > .user_print = monitor_user_noop, Doesn't this change the interpretation of "42" from 42 to (42 << 20)?