1
0
mirror of https://gitlab.com/libvirt/libvirt.git synced 2025-01-12 13:17:58 +03:00

storage: Resolve issues in failure path

https://bugzilla.redhat.com/show_bug.cgi?id=1092882

Refactoring in commit id '0c2305b3' resulted in the wrong storage
volume object being passed to the new storageVolDeleteInternal().
It should have passed 'voldef' which is the address found in the
pool->volumes.objs[i] array.  By passing 'voldef', the DeleteInternal
code will find and remove the voldef from the volumes.objs[] list.
This commit is contained in:
John Ferlan 2014-05-06 14:16:48 -04:00
parent 99f4def63b
commit e1e4483c90

View File

@ -1766,12 +1766,11 @@ storageVolCreateXML(virStoragePoolPtr obj,
voldef->building = 0;
pool->asyncjobs--;
voldef = NULL;
if (buildret < 0) {
storageVolDeleteInternal(volobj, backend, pool, buildvoldef,
VIR_FREE(buildvoldef);
storageVolDeleteInternal(volobj, backend, pool, voldef,
0, false);
buildvoldef = NULL;
voldef = NULL;
goto cleanup;
}