]> xenbits.xensource.com Git - libvirt.git/commitdiff
libxl: don't remove persistent domain on start failure
authorJim Fehlig <jfehlig@suse.com>
Wed, 24 Jun 2015 21:14:41 +0000 (15:14 -0600)
committerJim Fehlig <jfehlig@suse.com>
Tue, 30 Jun 2015 17:02:30 +0000 (11:02 -0600)
libxlDomainCreateXML() would remove a persistent domain if
libxlDomainStart() failed.  Check if domain is persistent
before removing.

Signed-off-by: Jim Fehlig <jfehlig@suse.com>
src/libxl/libxl_driver.c

index 6bcd34962f0289dc345134fc0f7c294bd1a56eae..b1b0e554d222e82ce3948434ecab12499ef1fcca 100644 (file)
@@ -918,7 +918,10 @@ libxlDomainCreateXML(virConnectPtr conn, const char *xml,
 
     if (libxlDomainStart(driver, vm, (flags & VIR_DOMAIN_START_PAUSED) != 0,
                      -1) < 0) {
-        virDomainObjListRemove(driver->domains, vm);
+        if (!vm->persistent) {
+            virDomainObjListRemove(driver->domains, vm);
+            vm = NULL;
+        }
         goto endjob;
     }