mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
storagePoolCreateXML: Don't lose persistent storage on failed create
If there's a persistent storage and user tries to start a new one with the same name and UUID (e.g. to test new configuration) it may happen that upon failure we lose the persistent defintion. Fortunately, we don't remove it from the disk only from the internal list of the pools. Signed-off-by: Michal Privoznik <mprivozn@redhat.com> Reviewed-by: Ján Tomko <jtomko@redhat.com>
This commit is contained in:
parent
1340327f48
commit
9342bc626b
@ -755,6 +755,7 @@ storagePoolCreateXML(virConnectPtr conn,
|
||||
goto cleanup;
|
||||
|
||||
if (!(obj = virStoragePoolObjListAdd(driver->pools, newDef,
|
||||
VIR_STORAGE_POOL_OBJ_LIST_ADD_LIVE |
|
||||
VIR_STORAGE_POOL_OBJ_LIST_ADD_CHECK_LIVE)))
|
||||
goto cleanup;
|
||||
newDef = NULL;
|
||||
@ -801,7 +802,7 @@ storagePoolCreateXML(virConnectPtr conn,
|
||||
return pool;
|
||||
|
||||
error:
|
||||
virStoragePoolObjRemove(driver->pools, obj);
|
||||
virStoragePoolUpdateInactive(obj);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user