[PATCH] also check domain uuid on create

and don't care if domain is active or not - it confuses users both ways
---
 src/qemu_driver.c |   15 +++++++++++++--
 1 files changed, 13 insertions(+), 2 deletions(-)

diff --git a/src/qemu_driver.c b/src/qemu_driver.c
index 81bde4e..3c04e09 100644
--- a/src/qemu_driver.c
+++ b/src/qemu_driver.c
@@ -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,
-- 
1.5.6.3

