From: Orit Wasserman <owasserm@redhat.com>
To: qemu-devel@nongnu.org
Cc: blauwirbel@gmail.com, stefanha@gmail.com,
Orit Wasserman <owasserm@redhat.com>,
avi@redhat.com, quintela@redhat.com
Subject: [Qemu-devel] [PATCH v7 08/11] Add migration capabilties
Date: Thu, 26 Jan 2012 16:24:54 +0200 [thread overview]
Message-ID: <1327587897-31192-9-git-send-email-owasserm@redhat.com> (raw)
In-Reply-To: <1327587897-31192-1-git-send-email-owasserm@redhat.com>
Add migration capabiltes that can be queried by the management.
The managment can query to source and the destination in order to
verify both support some maigration capability (currently only XBZRLE).
Signed-off-by: Orit Wasserman <owasserm@redhat.com>
---
hmp.c | 18 ++++++++++++++++++
hmp.h | 1 +
migration.c | 11 +++++++++++
monitor.c | 7 +++++++
qapi-schema.json | 24 ++++++++++++++++++++++++
qmp-commands.hx | 24 ++++++++++++++++++++++++
6 files changed, 85 insertions(+), 0 deletions(-)
diff --git a/hmp.c b/hmp.c
index 4664dbe..9c41e50 100644
--- a/hmp.c
+++ b/hmp.c
@@ -155,6 +155,24 @@ void hmp_info_migrate(Monitor *mon)
qapi_free_MigrationInfo(info);
}
+void hmp_info_migration_caps(Monitor *mon)
+{
+ MigrationCapList *caps_list, *cap;
+
+ caps_list = qmp_query_migration_caps(NULL);
+ if (!caps_list) {
+ monitor_printf(mon, "No migration capabilities found\n");
+ return;
+ }
+
+ for (cap = caps_list; cap; cap = cap->next) {
+ monitor_printf(mon, "%s\n", cap->value->name);
+ }
+
+ qapi_free_MigrationCapList(caps_list);
+
+}
+
void hmp_info_cpus(Monitor *mon)
{
CpuInfoList *cpu_list, *cpu;
diff --git a/hmp.h b/hmp.h
index aab0b1f..fdb5b24 100644
--- a/hmp.h
+++ b/hmp.h
@@ -25,6 +25,7 @@ void hmp_info_uuid(Monitor *mon);
void hmp_info_chardev(Monitor *mon);
void hmp_info_mice(Monitor *mon);
void hmp_info_migrate(Monitor *mon);
+void hmp_info_migration_caps(Monitor *mon);
void hmp_info_cpus(Monitor *mon);
void hmp_info_block(Monitor *mon);
void hmp_info_blockstats(Monitor *mon);
diff --git a/migration.c b/migration.c
index ce039e3..94f9460 100644
--- a/migration.c
+++ b/migration.c
@@ -161,6 +161,17 @@ MigrationInfo *qmp_query_migrate(Error **errp)
return info;
}
+MigrationCapList *qmp_query_migration_caps(Error **errp)
+{
+ MigrationCapList *caps_list = g_malloc0(sizeof(*caps_list));
+
+ caps_list->value = g_malloc(sizeof(*caps_list->value));
+ caps_list->value->name = g_strdup("uleb");
+ caps_list->next = NULL;
+
+ return caps_list;
+}
+
/* shared migration helpers */
static void migrate_fd_monitor_suspend(MigrationState *s, Monitor *mon)
diff --git a/monitor.c b/monitor.c
index 187083c..5742765 100644
--- a/monitor.c
+++ b/monitor.c
@@ -2527,6 +2527,13 @@ static mon_cmd_t info_cmds[] = {
.mhandler.info = hmp_info_migrate,
},
{
+ .name = "migration_caps",
+ .args_type = "",
+ .params = "",
+ .help = "show migration capabilties",
+ .mhandler.info = hmp_info_migration_caps,
+ },
+ {
.name = "balloon",
.args_type = "",
.params = "",
diff --git a/qapi-schema.json b/qapi-schema.json
index 735eb35..060b7e6 100644
--- a/qapi-schema.json
+++ b/qapi-schema.json
@@ -276,6 +276,30 @@
{ 'command': 'query-migrate', 'returns': 'MigrationInfo' }
##
+# @MigrationCap
+#
+# Information about current migration capabilites.
+#
+# @xbzrle: true if the current migration supports xbzrle
+#
+# Since: 1.1
+##
+{ 'type': 'MigrationCap',
+ 'data': { 'name': 'str'} }
+
+##
+# @query-migration-caps
+#
+# Returns information about current migration process capabilties.
+#
+# Returns: @MigrationCap
+#
+# Since: 1.1
+##
+{ 'command': 'query-migration-caps', 'returns': ['MigrationCap'] }
+
+
+##
# @MouseInfo:
#
# Information about a mouse device.
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 799e655..e07d2c2 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -1955,6 +1955,30 @@ EQMP
},
SQMP
+query-migration-caps
+-------
+
+Query migration capabilties
+
+- "xbzrle": xbzrle support
+
+Arguments:
+
+Example:
+
+-> { "execute": "query-migration-caps"}
+<- { "return": { "xbzrle" : true } }
+
+EQMP
+
+ {
+ .name = "query_migration_caps",
+ .args_type = "",
+ .mhandler.cmd_new = qmp_marshal_input_query_migration_caps,
+ },
+
+
+SQMP
query-balloon
-------------
--
1.7.6.5
next prev parent reply other threads:[~2012-01-26 14:26 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-01-26 14:24 [Qemu-devel] [PATCH v7 00/11] XBRLE delta for live migration of large memory app Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 01/11] Add cache handling functions Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 02/11] Add uleb encoding/decoding functions Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 03/11] Add save_block_hdr function Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 04/11] Add host_from_stream_offset_versioned function Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 05/11] Add XBZRLE to ram_save_block and ram_save_live Orit Wasserman
2012-01-29 10:52 ` Avi Kivity
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 06/11] Add MigrationParams structure Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 07/11] Add XBZRLE parameters to MigrationState Orit Wasserman
2012-01-26 14:24 ` Orit Wasserman [this message]
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 09/11] Add set_cachesize command Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 10/11] Add XBZRLE option to migrate command Orit Wasserman
2012-01-26 14:24 ` [Qemu-devel] [PATCH v7 11/11] Add XBZRLE statstics information Orit Wasserman
2012-02-24 8:33 ` [Qemu-devel] [PATCH v7 00/11] XBRLE delta for live migration of large memory app Stefan Hajnoczi
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=1327587897-31192-9-git-send-email-owasserm@redhat.com \
--to=owasserm@redhat.com \
--cc=avi@redhat.com \
--cc=blauwirbel@gmail.com \
--cc=qemu-devel@nongnu.org \
--cc=quintela@redhat.com \
--cc=stefanha@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).