[libvirt] [PATCH 3/3] virsh: migrate: Don't disallow --p2p and --migrateuri

Cole Robinson crobinso at redhat.com
Tue May 28 20:44:06 UTC 2013


Because it's a valid combination. p2p still uses a separate channel
for qemu migration, so there's value in letting the user specify a manual
migrate URI for overriding auto-port, or libvirt's FQDN lookup.

What _isn't_ allowed is --migrateuri and TUNNELLED, since there is
no separate migration channel. Disallow that instead
---
 tools/virsh-domain.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c
index 4fdf4ba..eb8688d 100644
--- a/tools/virsh-domain.c
+++ b/tools/virsh-domain.c
@@ -8306,15 +8306,15 @@ doMigrate(void *opaque)
 
     if ((flags & VIR_MIGRATE_PEER2PEER) ||
         vshCommandOptBool(cmd, "direct")) {
-        /* For peer2peer migration or direct migration we only expect one URI
-         * a libvirt URI, or a hypervisor specific URI. */
 
-        if (migrateuri != NULL) {
+        /* migrateuri doesn't make sense for tunnelled migration */
+        if (flags & VIR_MIGRATE_TUNNELLED && migrateuri != NULL) {
             vshError(ctl, "%s", _("migrate: Unexpected migrateuri for peer2peer/direct migration"));
             goto out;
         }
 
-        if (virDomainMigrateToURI2(dom, desturi, NULL, xml, flags, dname, 0) == 0)
+        if (virDomainMigrateToURI2(dom, desturi, migrateuri,
+                                   xml, flags, dname, 0) == 0)
             ret = '0';
     } else {
         /* For traditional live migration, connect to the destination host directly. */
-- 
1.8.2.1




More information about the libvir-list mailing list