[libvirt] [PATCH 01/14] Introduce VIR_MIGRATE_COMPRESSED flag

Jiri Denemark jdenemar at redhat.com
Tue Feb 19 12:35:39 UTC 2013


This flag may be used with migration APIs to request compression of
migration data.
---
 include/libvirt/libvirt.h.in | 1 +
 tools/virsh-domain.c         | 8 ++++++++
 tools/virsh.pod              | 6 ++++--
 3 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/include/libvirt/libvirt.h.in b/include/libvirt/libvirt.h.in
index ad30cd0..eda9e12 100644
--- a/include/libvirt/libvirt.h.in
+++ b/include/libvirt/libvirt.h.in
@@ -1187,6 +1187,7 @@ typedef enum {
                                                * when supported */
     VIR_MIGRATE_UNSAFE            = (1 << 9), /* force migration even if it is considered unsafe */
     VIR_MIGRATE_OFFLINE           = (1 << 10), /* offline migrate */
+    VIR_MIGRATE_COMPRESSED        = (1 << 11), /* compress data during migration */
 } virDomainMigrateFlags;
 
 /* Domain migration. */
diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 3e4be89..f8b0cec 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -8340,6 +8340,11 @@ static const vshCmdOptDef opts_migrate[] = {
      .flags = 0,
      .help = N_("display the progress of migration")
     },
+    {.name = "compressed",
+     .type = VSH_OT_BOOL,
+     .flags = 0,
+     .help = N_("compress repeated pages during live migration")
+    },
     {.name = "domain",
      .type = VSH_OT_DATA,
      .flags = VSH_OFLAG_REQ,
@@ -8430,6 +8435,9 @@ doMigrate(void *opaque)
     if (vshCommandOptBool(cmd, "unsafe"))
         flags |= VIR_MIGRATE_UNSAFE;
 
+    if (vshCommandOptBool(cmd, "compressed"))
+        flags |= VIR_MIGRATE_COMPRESSED;
+
     if (vshCommandOptBool(cmd, "offline")) {
         flags |= VIR_MIGRATE_OFFLINE;
     }
diff --git a/tools/virsh.pod b/tools/virsh.pod
index 96666c4..e675850 100644
--- a/tools/virsh.pod
+++ b/tools/virsh.pod
@@ -1043,7 +1043,7 @@ stats.
 =item B<migrate> [I<--live>] [I<--offline>] [I<--direct>] [I<--p2p> [I<--tunnelled>]]
 [I<--persistent>] [I<--undefinesource>] [I<--suspend>] [I<--copy-storage-all>]
 [I<--copy-storage-inc>] [I<--change-protection>] [I<--unsafe>] [I<--verbose>]
-I<domain> I<desturi> [I<migrateuri>] [I<dname>]
+[I<--compressed>] I<domain> I<desturi> [I<migrateuri>] [I<dname>]
 [I<--timeout> B<seconds>] [I<--xml> B<file>]
 
 Migrate domain to another host.  Add I<--live> for live migration; <--p2p>
@@ -1064,7 +1064,9 @@ host. I<--change-protection> enforces that no incompatible configuration
 changes will be made to the domain while the migration is underway; this flag
 is implicitly enabled when supported by the hypervisor, but can be explicitly
 used to reject the migration if the hypervisor lacks change protection
-support.  I<--verbose> displays the progress of migration.
+support.  I<--verbose> displays the progress of migration.  I<--compressed>
+activates compression of memory pages that have to be transferred repeatedly
+during live migration.
 
 B<Note>: Individual hypervisors usually do not support all possible types of
 migration. For example, QEMU does not support direct migration.
-- 
1.8.1.2




More information about the libvir-list mailing list