mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
storage: Pull volume removal from pool in storageVolDeleteInternal
Create a helper function to remove volume from the pool.
This commit is contained in:
parent
2265e7dd14
commit
a1703557fd
@ -1619,6 +1619,25 @@ storagePoolLookupByTargetPath(virConnectPtr conn,
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
storageVolRemoveFromPool(virStoragePoolObjPtr pool,
|
||||||
|
virStorageVolDefPtr vol)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
for (i = 0; i < pool->volumes.count; i++) {
|
||||||
|
if (pool->volumes.objs[i] == vol) {
|
||||||
|
VIR_INFO("Deleting volume '%s' from storage pool '%s'",
|
||||||
|
vol->name, pool->def->name);
|
||||||
|
virStorageVolDefFree(vol);
|
||||||
|
|
||||||
|
VIR_DELETE_ELEMENT(pool->volumes.objs, i, pool->volumes.count);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
storageVolDeleteInternal(virStorageVolPtr obj,
|
storageVolDeleteInternal(virStorageVolPtr obj,
|
||||||
virStorageBackendPtr backend,
|
virStorageBackendPtr backend,
|
||||||
@ -1627,7 +1646,6 @@ storageVolDeleteInternal(virStorageVolPtr obj,
|
|||||||
unsigned int flags,
|
unsigned int flags,
|
||||||
bool updateMeta)
|
bool updateMeta)
|
||||||
{
|
{
|
||||||
size_t i;
|
|
||||||
int ret = -1;
|
int ret = -1;
|
||||||
|
|
||||||
if (!backend->deleteVol) {
|
if (!backend->deleteVol) {
|
||||||
@ -1651,16 +1669,7 @@ storageVolDeleteInternal(virStorageVolPtr obj,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
for (i = 0; i < pool->volumes.count; i++) {
|
storageVolRemoveFromPool(pool, vol);
|
||||||
if (pool->volumes.objs[i] == vol) {
|
|
||||||
VIR_INFO("Deleting volume '%s' from storage pool '%s'",
|
|
||||||
vol->name, pool->def->name);
|
|
||||||
virStorageVolDefFree(vol);
|
|
||||||
|
|
||||||
VIR_DELETE_ELEMENT(pool->volumes.objs, i, pool->volumes.count);
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
|
||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
|
Loading…
x
Reference in New Issue
Block a user