}
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");
unlink(stateFile);
if (backend->stopPool)
backend->stopPool(obj);
- virStoragePoolObjRemove(driver->pools, obj);
- virObjectUnref(obj);
- obj = NULL;
- goto cleanup;
+ goto error;
}
event = virStoragePoolEventLifecycleNew(def->name,
virObjectEventStateQueue(driver->storageEventState, event);
virStoragePoolObjEndAPI(&obj);
return pool;
+
+ error:
+ virStoragePoolObjRemove(driver->pools, obj);
+ virObjectUnref(obj);
+ obj = NULL;
+ goto cleanup;
}
static virStoragePoolPtr