Signed-off-by: Lei Li <li...@linux.vnet.ibm.com> --- hmp-commands.hx | 17 +++++++++++++++++ hmp.c | 13 +++++++++++++ hmp.h | 1 + 3 files changed, 31 insertions(+), 0 deletions(-)
diff --git a/hmp-commands.hx b/hmp-commands.hx index 915b0d1..ed21970 100644 --- a/hmp-commands.hx +++ b/hmp-commands.hx @@ -989,6 +989,23 @@ STEXI Set the spice/vnc connection info for the migration target. The spice/vnc server will ask the spice/vnc client to automatically reconnect using the new parameters (if specified) once the vm migration finished successfully. + +ETEXI + + { + .name = "localhost_migrate", + .args_type = "uri:s", + .params = "uri", + .help = "migrate to domain socket URI on localhost", + .mhandler.cmd = hmp_localhost_migrate, + }, + + +STEXI +@item localhost_migrate @var{uri} +@findex localhost_migrate +Migrate to @var{uri}. + ETEXI { diff --git a/hmp.c b/hmp.c index 494a9aa..a7e779f 100644 --- a/hmp.c +++ b/hmp.c @@ -1191,6 +1191,19 @@ void hmp_migrate(Monitor *mon, const QDict *qdict) } } +void hmp_localhost_migrate(Monitor *mon, const QDict *qdict) +{ + const char *uri = qdict_get_str(qdict, "uri"); + Error *errp = NULL; + + qmp_localhost_migrate(uri, &errp); + if (errp) { + monitor_printf(mon, "local_migrate: %s\n", error_get_pretty(errp)); + error_free(errp); + return; + } +} + void hmp_device_del(Monitor *mon, const QDict *qdict) { const char *id = qdict_get_str(qdict, "id"); diff --git a/hmp.h b/hmp.h index 56d2e92..878bd0c 100644 --- a/hmp.h +++ b/hmp.h @@ -72,6 +72,7 @@ void hmp_block_job_pause(Monitor *mon, const QDict *qdict); void hmp_block_job_resume(Monitor *mon, const QDict *qdict); void hmp_block_job_complete(Monitor *mon, const QDict *qdict); void hmp_migrate(Monitor *mon, const QDict *qdict); +void hmp_localhost_migrate(Monitor *mon, const QDict *qdict); void hmp_device_del(Monitor *mon, const QDict *qdict); void hmp_dump_guest_memory(Monitor *mon, const QDict *qdict); void hmp_netdev_add(Monitor *mon, const QDict *qdict); -- 1.7.7.6