]> xenbits.xensource.com Git - libvirt.git/commitdiff
qemu: Use same create/define overwrite logic for migration prepare.
authorCole Robinson <crobinso@redhat.com>
Mon, 2 Nov 2009 19:10:36 +0000 (14:10 -0500)
committerCole Robinson <crobinso@redhat.com>
Fri, 6 Nov 2009 15:12:32 +0000 (10:12 -0500)
src/qemu/qemu_driver.c

index dd766bf44dfeada42c37779c55cf66159fb928e1..1f3a0e48ef975a65231100a8375ab28ec026d4cc 100644 (file)
@@ -5997,19 +5997,8 @@ qemudDomainMigratePrepareTunnel(virConnectPtr dconn,
     /* Target domain name, maybe renamed. */
     dname = dname ? dname : def->name;
 
-    /* Ensure the name and UUID don't already exist in an active VM */
-    vm = virDomainFindByUUID(&driver->domains, def->uuid);
-
-    if (!vm) vm = virDomainFindByName(&driver->domains, dname);
-    if (vm) {
-        if (virDomainObjIsActive(vm)) {
-            qemudReportError(dconn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
-                             _("domain with the same name or UUID already exists as '%s'"),
-                             vm->def->name);
-            goto cleanup;
-        }
-        virDomainObjUnlock(vm);
-    }
+    if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
+        goto cleanup;
 
     if (!(vm = virDomainAssignDef(dconn,
                                   driver->caps,
@@ -6221,19 +6210,8 @@ qemudDomainMigratePrepare2 (virConnectPtr dconn,
     /* Target domain name, maybe renamed. */
     dname = dname ? dname : def->name;
 
-    /* Ensure the name and UUID don't already exist in an active VM */
-    vm = virDomainFindByUUID(&driver->domains, def->uuid);
-
-    if (!vm) vm = virDomainFindByName(&driver->domains, dname);
-    if (vm) {
-        if (virDomainObjIsActive(vm)) {
-            qemudReportError (dconn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
-                              _("domain with the same name or UUID already exists as '%s'"),
-                              vm->def->name);
-            goto cleanup;
-        }
-        virDomainObjUnlock(vm);
-    }
+    if (virDomainObjIsDuplicate(&driver->domains, def, 1) < 0)
+        goto cleanup;
 
     if (!(vm = virDomainAssignDef(dconn,
                                   driver->caps,