From 0d0bf8507c9767d9e80ff4b0a3cc5f11003d2bb9 Mon Sep 17 00:00:00 2001 From: Eric Blake Date: Wed, 27 Jul 2011 10:13:48 -0600 Subject: [PATCH] virsh: expose change-protection during migration * tools/virsh.c (doMigrate): Add --change-protection flag. * tools/virsh.pod (migrate): Document it. --- tools/virsh.c | 4 ++++ tools/virsh.pod | 11 ++++++++--- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/tools/virsh.c b/tools/virsh.c index 113124ff52..57aded30b7 100644 --- a/tools/virsh.c +++ b/tools/virsh.c @@ -4830,6 +4830,8 @@ static const vshCmdOptDef opts_migrate[] = { {"suspend", VSH_OT_BOOL, 0, N_("do not restart the domain on the destination host")}, {"copy-storage-all", VSH_OT_BOOL, 0, N_("migration with non-shared storage with full disk copy")}, {"copy-storage-inc", VSH_OT_BOOL, 0, N_("migration with non-shared storage with incremental copy (same base image shared between source and destination)")}, + {"change-protection", VSH_OT_BOOL, 0, + N_("prevent any configuration changes to domain until migration ends)")}, {"verbose", VSH_OT_BOOL, 0, N_("display the progress of migration")}, {"domain", VSH_OT_DATA, VSH_OFLAG_REQ, N_("domain name, id or uuid")}, {"desturi", VSH_OT_DATA, VSH_OFLAG_REQ, N_("connection URI of the destination host as seen from the client(normal migration) or source(p2p migration)")}, @@ -4906,6 +4908,8 @@ doMigrate (void *opaque) if (vshCommandOptBool (cmd, "copy-storage-inc")) flags |= VIR_MIGRATE_NON_SHARED_INC; + if (vshCommandOptBool (cmd, "change-protection")) + flags |= VIR_MIGRATE_CHANGE_PROTECTION; if (xmlfile && virFileReadAll(xmlfile, 8192, &xml) < 0) diff --git a/tools/virsh.pod b/tools/virsh.pod index e9aaa800ce..f6f9908c26 100644 --- a/tools/virsh.pod +++ b/tools/virsh.pod @@ -564,8 +564,9 @@ type attribute for the element of XML. =item B [I<--live>] [I<--direct>] [I<--p2p> [I<--tunnelled>]] [I<--persistent>] [I<--undefinesource>] [I<--suspend>] [I<--copy-storage-all>] -[I<--copy-storage-inc>] [I<--verbose>] I I [I] -[I] [I<--timeout> B] [I<--xml> B] +[I<--copy-storage-inc>] [I<--change-protection>] [I<--verbose>] +I I [I] [I] +[I<--timeout> B] [I<--xml> B] Migrate domain to another host. Add I<--live> for live migration; I<--p2p> for peer-2-peer migration; I<--direct> for direct migration; or I<--tunnelled> @@ -575,7 +576,11 @@ and I<--suspend> leaves the domain paused on the destination host. I<--copy-storage-all> indicates migration with non-shared storage with full disk copy, I<--copy-storage-inc> indicates migration with non-shared storage with incremental copy (same base image shared between source and destination). -I<--verbose> displays the progress of migration. +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. The I is the connection URI of the destination host, and I is the migration URI, which usually can be omitted. -- GitLab