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:
parent
99f4def63b
commit
e1e4483c90
@ -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;
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user