if (!(obj = virStoragePoolObjAssignDef(driver->pools, newDef)))
goto cleanup;
- newDef = NULL;
+ newDef = virStoragePoolObjGetNewDef(obj);
def = virStoragePoolObjGetDef(obj);
- if (virStoragePoolObjSaveDef(driver, obj, def) < 0) {
+ if (virStoragePoolObjSaveDef(driver, obj, newDef ? newDef : def) < 0) {
virStoragePoolObjRemove(driver->pools, obj);
virObjectUnref(obj);
obj = NULL;
+ newDef = NULL;
goto cleanup;
}
VIR_INFO("Defining storage pool '%s'", def->name);
pool = virGetStoragePool(conn, def->name, def->uuid, NULL, NULL);
+ newDef = NULL;
cleanup:
virObjectEventStateQueue(driver->storageEventState, event);