[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]

[libvirt] [PATCH 3/3] qemu: Use same create/define overwrite logic for migration prepare.



Signed-off-by: Cole Robinson <crobinso redhat com>
---
 src/qemu/qemu_driver.c |   30 ++++--------------------------
 1 files changed, 4 insertions(+), 26 deletions(-)

diff --git a/src/qemu/qemu_driver.c b/src/qemu/qemu_driver.c
index e038887..6981d99 100644
--- a/src/qemu/qemu_driver.c
+++ b/src/qemu/qemu_driver.c
@@ -6041,19 +6041,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 (!qemudDomainCanCreate(dconn, def, 1))
+        goto cleanup;
 
     if (!(vm = virDomainAssignDef(dconn,
                                   driver->caps,
@@ -6265,19 +6254,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 (!qemudDomainCanCreate(dconn, def, 1))
+        goto cleanup;
 
     if (!(vm = virDomainAssignDef(dconn,
                                   driver->caps,
-- 
1.6.5.1


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]