]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
* src/qemu_driver.c: patch from Guido Günther to make sure create
authorDaniel Veillard <veillard@redhat.com>
Mon, 28 Jul 2008 12:52:37 +0000 (12:52 +0000)
committerDaniel Veillard <veillard@redhat.com>
Mon, 28 Jul 2008 12:52:37 +0000 (12:52 +0000)
  doesn't override an existing domain definition or UUID
Daniel

ChangeLog
src/qemu_driver.c

index 6ca9ba7230f6ca124480dec90ee4d6c3c1da382a..deff7ea54f577eff298b6d23acec9b3ee75e29df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Mon Jul 28 14:50:55 CEST 2008 Daniel Veillard <veillard@redhat.com>
+
+       * src/qemu_driver.c: patch from Guido Günther to make sure create
+         doesn't override an existing domain definition or UUID
+
 Fri Jul 25 17:21:27 BST 2008 Daniel P. Berrange <berrange@redhat.com>
 
        * src/domain_conf.c: Fix typos in comments, and the dummy
index d0c818429e24f9168c1c19570ac94cdf2e17c430..b8fd11c8574a49173398cc5bc81e9051ced436eb 100644 (file)
@@ -2013,13 +2013,24 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
         return NULL;
 
     vm = virDomainFindByName(driver->domains, def->name);
-    if (vm && virDomainIsActive(vm)) {
+    if (vm) {
         qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
-                         _("domain %s is already defined and running"),
+                         _("domain '%s' is already defined and running"),
                          def->name);
         virDomainDefFree(def);
         return NULL;
     }
+    vm = virDomainFindByUUID(driver->domains, def->uuid);
+    if (vm) {
+        char uuidstr[VIR_UUID_STRING_BUFLEN];
+
+        virUUIDFormat(def->uuid, uuidstr);
+        qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
+                         _("domain with uuid '%s' is already defined and running"),
+                         uuidstr);
+        virDomainDefFree(def);
+        return NULL;
+    }
 
     if (!(vm = virDomainAssignDef(conn,
                                   &driver->domains,