mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 19:32:19 +00:00
storageVolCreateXML: Swap order of two operations
Firstly, we realloc internal list to hold new item (=volume that will be potentially created) and then we check whether we actually know how to create it. If we don't we consume more memory than we really need for no good reason. Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
This commit is contained in:
parent
64e66d8ed6
commit
78490acc39
@ -1856,10 +1856,6 @@ storageVolCreateXML(virStoragePoolPtr obj,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_REALLOC_N(pool->volumes.objs,
|
||||
pool->volumes.count+1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
if (!backend->createVol) {
|
||||
virReportError(VIR_ERR_NO_SUPPORT,
|
||||
"%s", _("storage pool does not support volume "
|
||||
@ -1867,6 +1863,10 @@ storageVolCreateXML(virStoragePoolPtr obj,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
if (VIR_REALLOC_N(pool->volumes.objs,
|
||||
pool->volumes.count+1) < 0)
|
||||
goto cleanup;
|
||||
|
||||
/* Wipe any key the user may have suggested, as volume creation
|
||||
* will generate the canonical key. */
|
||||
VIR_FREE(voldef->key);
|
||||
|
Loading…
x
Reference in New Issue
Block a user