]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: migration: error if tunnelled + storage specified
authorCole Robinson <crobinso@redhat.com>
Tue, 28 May 2013 19:27:45 +0000 (15:27 -0400)
committerCole Robinson <crobinso@redhat.com>
Wed, 29 May 2013 16:31:00 +0000 (12:31 -0400)
Since as the code indicates it doesn't work yet, so let's be
explicit about it.

src/qemu/qemu_migration.c

index 9ac9be4d793d27b4b7f0fb09138d0a96127bd250..ffc86a461ec5d1b03509091aeb1fd7ba67f0f8c5 100644 (file)
@@ -1900,12 +1900,13 @@ char *qemuMigrationBegin(virQEMUDriverPtr driver,
     if (flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) &&
         virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_SERVER)) {
         /* TODO support NBD for TUNNELLED migration */
-        if (flags & VIR_MIGRATE_TUNNELLED)
-            VIR_DEBUG("NBD in tunnelled migration is currently not supported");
-        else {
-            cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
-            priv->nbdPort = 0;
+        if (flags & VIR_MIGRATE_TUNNELLED) {
+            virReportError(VIR_ERR_ARGUMENT_UNSUPPORTED, "%s",
+                _("NBD in tunnelled migration is currently not supported"));
+            goto cleanup;
         }
+        cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
+        priv->nbdPort = 0;
     }
 
     if (!(mig = qemuMigrationEatCookie(driver, vm, NULL, 0, 0)))
@@ -2200,16 +2201,11 @@ done:
     if (mig->nbd &&
         flags & (VIR_MIGRATE_NON_SHARED_DISK | VIR_MIGRATE_NON_SHARED_INC) &&
         virQEMUCapsGet(priv->qemuCaps, QEMU_CAPS_NBD_SERVER)) {
-        /* TODO support NBD for TUNNELLED migration */
-        if (flags & VIR_MIGRATE_TUNNELLED)
-            VIR_DEBUG("NBD in tunnelled migration is currently not supported");
-        else {
-            if (qemuMigrationStartNBDServer(driver, vm, listenAddr) < 0) {
-                /* error already reported */
-                goto endjob;
-            }
-            cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
+        if (qemuMigrationStartNBDServer(driver, vm, listenAddr) < 0) {
+            /* error already reported */
+            goto endjob;
         }
+        cookieFlags |= QEMU_MIGRATION_COOKIE_NBD;
     }
 
     if (qemuMigrationBakeCookie(mig, driver, vm, cookieout,