]> xenbits.xensource.com Git - libvirt.git/commitdiff
storage: Create error label path for storagePoolCreateXML
authorJohn Ferlan <jferlan@redhat.com>
Wed, 12 Sep 2018 15:17:17 +0000 (11:17 -0400)
committerJohn Ferlan <jferlan@redhat.com>
Thu, 20 Sep 2018 11:49:38 +0000 (07:49 -0400)
Rather than duplicate the error code, let's create an error
label to keep code common.

Signed-off-by: John Ferlan <jferlan@redhat.com>
ACKed-by: Michal Privoznik <mprivozn@redhat.com>
src/storage/storage_driver.c

index 6e7ce9f97cc442cf7f7dcee81bae870f00b54685..8205f23a8c5a49dc123b959bb8aa68157952b141 100644 (file)
@@ -727,12 +727,8 @@ storagePoolCreateXML(virConnectPtr conn,
     }
 
     if (backend->startPool &&
-        backend->startPool(obj) < 0) {
-        virStoragePoolObjRemove(driver->pools, obj);
-        virObjectUnref(obj);
-        obj = NULL;
-        goto cleanup;
-    }
+        backend->startPool(obj) < 0)
+        goto error;
 
     stateFile = virFileBuildPath(driver->stateDir, def->name, ".xml");
 
@@ -743,10 +739,7 @@ storagePoolCreateXML(virConnectPtr conn,
             unlink(stateFile);
         if (backend->stopPool)
             backend->stopPool(obj);
-        virStoragePoolObjRemove(driver->pools, obj);
-        virObjectUnref(obj);
-        obj = NULL;
-        goto cleanup;
+        goto error;
     }
 
     event = virStoragePoolEventLifecycleNew(def->name,
@@ -765,6 +758,12 @@ storagePoolCreateXML(virConnectPtr conn,
     virObjectEventStateQueue(driver->storageEventState, event);
     virStoragePoolObjEndAPI(&obj);
     return pool;
+
+ error:
+    virStoragePoolObjRemove(driver->pools, obj);
+    virObjectUnref(obj);
+    obj = NULL;
+    goto cleanup;
 }
 
 static virStoragePoolPtr