From: Scott Garfinkle <seg(a)us.ibm.com>
---
tools/virsh-domain.c | 46 ++++++++++++++++++++++++++++++++++++++++++++++
tools/virsh.pod | 18 ++++++++++++++++++
2 files changed, 64 insertions(+)
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 0684979..10fdd0f 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -10720,6 +10720,46 @@ cmdMigrateSetMaxDowntime(vshControl *ctl, const vshCmd *cmd)
}
/*
+ * "migrate-getmaxdowntime" command
+ */
+static const vshCmdInfo info_migrate_getmaxdowntime[] = {
+ {.name = "help",
+ .data = N_("get maximum tolerable downtime")
+ },
+ {.name = "desc",
+ .data = N_("Get maximum tolerable downtime (in milliseconds)for a domain which
is being live-migrated to another host.")
+ },
+ {.name = NULL}
+};
+
+static const vshCmdOptDef opts_migrate_getmaxdowntime[] = {
+ VIRSH_COMMON_OPT_DOMAIN_FULL,
+ {.name = NULL}
+};
+
+static bool
+cmdMigrateGetMaxDowntime(vshControl *ctl, const vshCmd *cmd)
+{
+ virDomainPtr dom = NULL;
+ unsigned long long downtime;
+ bool ret = false;
+
+ if (!(dom = virshCommandOptDomain(ctl, cmd, NULL)))
+ return false;
+
+ if (virDomainMigrateGetMaxDowntime(dom, &downtime, 0))
+ goto done;
+
+ vshPrint(ctl, "%llu\n", downtime);
+
+ ret = true;
+
+ done:
+ virshDomainFree(dom);
+ return ret;
+}
+
+/*
* "migrate-compcache" command
*/
static const vshCmdInfo info_migrate_compcache[] = {
@@ -13845,6 +13885,12 @@ const vshCmdDef domManagementCmds[] = {
.info = info_migrate_setmaxdowntime,
.flags = 0
},
+ {.name = "migrate-getmaxdowntime",
+ .handler = cmdMigrateGetMaxDowntime,
+ .opts = opts_migrate_getmaxdowntime,
+ .info = info_migrate_getmaxdowntime,
+ .flags = 0
+ },
{.name = "migrate-compcache",
.handler = cmdMigrateCompCache,
.opts = opts_migrate_compcache,
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 43d6f0c..fc0a46c 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -1869,6 +1869,24 @@ is supposed to be used while the domain is being live-migrated as a
reaction
to migration progress and increasing number of compression cache misses
obtained from domjobinfo.
+=item B<migrate-getmaxdowntime> I<domain>
+
+Get the maximum tolerable downtime for a domain which is being live-migrated to
+another host. This is the number of milliseconds the guest is allowed
+to be down at the end of live migration.
+
+=item B<migrate-compcache> I<domain> [I<--size> B<bytes>]
+
+Sets and/or gets size of the cache (in bytes) used for compressing repeatedly
+transferred memory pages during live migration. When called without I<size>,
+the command just prints current size of the compression cache. When I<size>
+is specified, the hypervisor is asked to change compression cache to I<size>
+bytes and then the current size is printed (the result may differ from the
+requested size due to rounding done by the hypervisor). The I<size> option
+is supposed to be used while the domain is being live-migrated as a reaction
+to migration progress and increasing number of compression cache misses
+obtained from domjobinfo.
+
=item B<migrate-setspeed> I<domain> I<bandwidth>
Set the maximum migration bandwidth (in MiB/s) for a domain which is being
--
1.8.3.1