[libvirt] [PATCH 2/3] qemu: migration: error if tunnelled + storage specified

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


Since as the code indicates it doesn't work yet, so let's be
explicit about it.
---
 src/qemu/qemu_migration.c | 24 ++++++++++--------------
 1 file changed, 10 insertions(+), 14 deletions(-)

diff --git a/src/qemu/qemu_migration.c b/src/qemu/qemu_migration.c
index 9ac9be4..ffc86a4 100644
--- a/src/qemu/qemu_migration.c
+++ b/src/qemu/qemu_migration.c
@@ -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,
-- 
1.8.2.1




More information about the libvir-list mailing list