]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
Check for already running QEmu domain on create
authorDaniel Veillard <veillard@redhat.com>
Thu, 24 Jul 2008 07:29:50 +0000 (07:29 +0000)
committerDaniel Veillard <veillard@redhat.com>
Thu, 24 Jul 2008 07:29:50 +0000 (07:29 +0000)
* src/qemu_driver.c: another patch from Guido Günther checking
  for an already running domain on create
Daniel

ChangeLog
src/qemu_driver.c

index 860bc93f06fa46533213edbb5f030dc2cbd1769d..4120cd68ba31b7d3f5241e3fb2a69d48731a5a62 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Thu Jul 24 09:26:51 CEST 2008 Daniel Veillard <veillard@redhat.com>
+
+       * src/qemu_driver.c: another patch from Guido Günther checking
+         for an already running domain on create
+
 Thu Jul 24 09:08:32 CEST 2008 Daniel Veillard <veillard@redhat.com>
 
        * src/qemu_driver.c: patch from Guido Günther checking for
index 01b4d18eb88182feb7ee523091ad8883cf11dbdf..f706819547177d74d24ba29a434abcf1daa9262c 100644 (file)
@@ -2006,6 +2006,15 @@ static virDomainPtr qemudDomainCreate(virConnectPtr conn, const char *xml,
     if (!(def = virDomainDefParseString(conn, driver->caps, xml)))
         return NULL;
 
+    vm = virDomainFindByName(driver->domains, def->name);
+    if (vm && virDomainIsActive(vm)) {
+        qemudReportError(conn, NULL, NULL, VIR_ERR_OPERATION_FAILED,
+                         _("domain %s is already defined and running"),
+                         def->name);
+        virDomainDefFree(def);
+        return NULL;
+    }
+
     if (!(vm = virDomainAssignDef(conn,
                                   &driver->domains,
                                   def))) {