]> git.proxmox.com Git - mirror_qemu.git/commitdiff
qapi: Convert migrate_set_speed
authorLuiz Capitulino <lcapitulino@redhat.com>
Mon, 28 Nov 2011 13:59:37 +0000 (11:59 -0200)
committerLuiz Capitulino <lcapitulino@redhat.com>
Tue, 6 Dec 2011 13:40:01 +0000 (11:40 -0200)
Signed-off-by: Luiz Capitulino <lcapitulino@redhat.com>
hmp-commands.hx
hmp.c
hmp.h
migration.c
migration.h
qapi-schema.json
qmp-commands.hx

index 6ba694d45a968b35b93f3a2bc8cbfa30e0220673..fdbed15ca9d042daec760060595c7f2dc9efee59 100644 (file)
@@ -786,8 +786,7 @@ ETEXI
         .params     = "value",
         .help       = "set maximum speed (in bytes) for migrations. "
        "Defaults to MB if no size suffix is specified, ie. B/K/M/G/T",
-        .user_print = monitor_user_noop,
-        .mhandler.cmd_new = do_migrate_set_speed,
+        .mhandler.cmd = hmp_migrate_set_speed,
     },
 
 STEXI
diff --git a/hmp.c b/hmp.c
index 04e6b73810e4d8f8fcc050b27dbedae8be5c35b3..e7659d5ffcac41462b8205ea6013e94f8b814dc0 100644 (file)
--- a/hmp.c
+++ b/hmp.c
@@ -673,3 +673,9 @@ void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict)
     double value = qdict_get_double(qdict, "value");
     qmp_migrate_set_downtime(value, NULL);
 }
+
+void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict)
+{
+    int64_t value = qdict_get_int(qdict, "value");
+    qmp_migrate_set_speed(value, NULL);
+}
diff --git a/hmp.h b/hmp.h
index 9182622cc08c6323d4b91a5b802c21a2c2797adf..093242d626e60622b9ee3747f160348b56e6030e 100644 (file)
--- a/hmp.h
+++ b/hmp.h
@@ -48,5 +48,6 @@ void hmp_block_resize(Monitor *mon, const QDict *qdict);
 void hmp_snapshot_blkdev(Monitor *mon, const QDict *qdict);
 void hmp_migrate_cancel(Monitor *mon, const QDict *qdict);
 void hmp_migrate_set_downtime(Monitor *mon, const QDict *qdict);
+void hmp_migrate_set_speed(Monitor *mon, const QDict *qdict);
 
 #endif
index a5631622f0b307c3d78654c7c583ca192d543b32..75d4f023733cc6dd6766fba2e90c6002bf322cb1 100644 (file)
@@ -473,21 +473,17 @@ void qmp_migrate_cancel(Error **errp)
     migrate_fd_cancel(migrate_get_current());
 }
 
-int do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data)
+void qmp_migrate_set_speed(int64_t value, Error **errp)
 {
-    int64_t d;
     MigrationState *s;
 
-    d = qdict_get_int(qdict, "value");
-    if (d < 0) {
-        d = 0;
+    if (value < 0) {
+        value = 0;
     }
 
     s = migrate_get_current();
-    s->bandwidth_limit = d;
+    s->bandwidth_limit = value;
     qemu_file_set_rate_limit(s->file, s->bandwidth_limit);
-
-    return 0;
 }
 
 void qmp_migrate_set_downtime(double value, Error **errp)
index 539f8f184029b4899d154e8e8c24888c80f4d579..999d60feb51b1b082730cd932b222ae70f865600 100644 (file)
@@ -42,8 +42,6 @@ int qemu_start_incoming_migration(const char *uri);
 
 int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data);
 
-int do_migrate_set_speed(Monitor *mon, const QDict *qdict, QObject **ret_data);
-
 uint64_t migrate_max_downtime(void);
 
 void do_info_migrate_print(Monitor *mon, const QObject *data);
index d9b9fa10d97a179417cb4e1a9ddb4810db604ce8..f358b490b048b7016c3f38a95399f483603eadf3 100644 (file)
 # Since: 0.14.0
 ##
 { 'command': 'migrate_set_downtime', 'data': {'value': 'number'} }
+
+##
+# @migrate_set_speed
+#
+# Set maximum speed for migration.
+#
+# @value: maximum speed in bytes.
+#
+# Returns: nothing on success
+#
+# Notes: A value lesser than zero will be automatically round up to zero.
+#
+# Since: 0.14.0
+##
+{ 'command': 'migrate_set_speed', 'data': {'value': 'int'} }
index b4cadebe96ca717228753ffc162b2924d34bcfbd..002e7e8bd9448d29362cb7f9062c2a7e0ab13b48 100644 (file)
@@ -492,10 +492,7 @@ EQMP
     {
         .name       = "migrate_set_speed",
         .args_type  = "value:o",
-        .params     = "value",
-        .help       = "set maximum speed (in bytes) for migrations",
-        .user_print = monitor_user_noop,
-        .mhandler.cmd_new = do_migrate_set_speed,
+        .mhandler.cmd_new = qmp_marshal_input_migrate_set_speed,
     },
 
 SQMP