mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-03-07 17:28:15 +00:00
conf: move common disk source functions
Move some functions out of domain_conf for use in the next patch where snapshot starts to directly use structs in virstoragefile. * src/conf/domain_conf.c (virDomainDiskDefFree) (virDomainDiskSourcePoolDefParse): Adjust callers. (virDomainDiskSourceDefClear, virDomainDiskSourcePoolDefFree) (virDomainDiskAuthClear): Move... * src/util/virstoragefile.c (virStorageSourceClear) (virStorageSourcePoolDefFree, virStorageSourceAuthClear): ...and rename. * src/conf/domain_conf.h (virDomainDiskAuthClear): Drop declaration. * src/qemu/qemu_conf.c (qemuTranslateDiskSourcePool): Adjust caller. * src/util/virstoragefile.h: Declare them. * src/libvirt_private.syms (virstoragefile.h): Export them. Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
885ac290ea
commit
7a4fd22b17
@ -1179,42 +1179,6 @@ void virDomainLeaseDefFree(virDomainLeaseDefPtr def)
|
|||||||
VIR_FREE(def);
|
VIR_FREE(def);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
|
||||||
virDomainDiskSourcePoolDefFree(virStorageSourcePoolDefPtr def)
|
|
||||||
{
|
|
||||||
if (!def)
|
|
||||||
return;
|
|
||||||
|
|
||||||
VIR_FREE(def->pool);
|
|
||||||
VIR_FREE(def->volume);
|
|
||||||
|
|
||||||
VIR_FREE(def);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
static void
|
|
||||||
virDomainDiskSourceDefClear(virStorageSourcePtr def)
|
|
||||||
{
|
|
||||||
size_t i;
|
|
||||||
|
|
||||||
if (!def)
|
|
||||||
return;
|
|
||||||
|
|
||||||
VIR_FREE(def->path);
|
|
||||||
virDomainDiskSourcePoolDefFree(def->srcpool);
|
|
||||||
VIR_FREE(def->driverName);
|
|
||||||
virStorageEncryptionFree(def->encryption);
|
|
||||||
|
|
||||||
if (def->seclabels) {
|
|
||||||
for (i = 0; i < def->nseclabels; i++)
|
|
||||||
virSecurityDeviceLabelDefFree(def->seclabels[i]);
|
|
||||||
VIR_FREE(def->seclabels);
|
|
||||||
}
|
|
||||||
|
|
||||||
virStorageNetHostDefFree(def->nhosts, def->hosts);
|
|
||||||
virDomainDiskAuthClear(def);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
void
|
void
|
||||||
virDomainDiskDefFree(virDomainDiskDefPtr def)
|
virDomainDiskDefFree(virDomainDiskDefPtr def)
|
||||||
@ -1222,7 +1186,7 @@ virDomainDiskDefFree(virDomainDiskDefPtr def)
|
|||||||
if (!def)
|
if (!def)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
virDomainDiskSourceDefClear(&def->src);
|
virStorageSourceClear(&def->src);
|
||||||
VIR_FREE(def->serial);
|
VIR_FREE(def->serial);
|
||||||
VIR_FREE(def->dst);
|
VIR_FREE(def->dst);
|
||||||
virStorageFileFreeMetadata(def->backingChain);
|
virStorageFileFreeMetadata(def->backingChain);
|
||||||
@ -1236,18 +1200,6 @@ virDomainDiskDefFree(virDomainDiskDefPtr def)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
void
|
|
||||||
virDomainDiskAuthClear(virStorageSourcePtr def)
|
|
||||||
{
|
|
||||||
VIR_FREE(def->auth.username);
|
|
||||||
|
|
||||||
if (def->auth.secretType == VIR_STORAGE_SECRET_TYPE_USAGE)
|
|
||||||
VIR_FREE(def->auth.secret.usage);
|
|
||||||
|
|
||||||
def->auth.secretType = VIR_STORAGE_SECRET_TYPE_NONE;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
int
|
int
|
||||||
virDomainDiskGetType(virDomainDiskDefPtr def)
|
virDomainDiskGetType(virDomainDiskDefPtr def)
|
||||||
{
|
{
|
||||||
@ -4995,7 +4947,7 @@ virDomainDiskSourcePoolDefParse(xmlNodePtr node,
|
|||||||
ret = 0;
|
ret = 0;
|
||||||
|
|
||||||
cleanup:
|
cleanup:
|
||||||
virDomainDiskSourcePoolDefFree(source);
|
virStorageSourcePoolDefFree(source);
|
||||||
VIR_FREE(mode);
|
VIR_FREE(mode);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -2125,7 +2125,6 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def);
|
|||||||
void virDomainInputDefFree(virDomainInputDefPtr def);
|
void virDomainInputDefFree(virDomainInputDefPtr def);
|
||||||
void virDomainDiskDefFree(virDomainDiskDefPtr def);
|
void virDomainDiskDefFree(virDomainDiskDefPtr def);
|
||||||
void virDomainLeaseDefFree(virDomainLeaseDefPtr def);
|
void virDomainLeaseDefFree(virDomainLeaseDefPtr def);
|
||||||
void virDomainDiskAuthClear(virStorageSourcePtr def);
|
|
||||||
int virDomainDiskGetType(virDomainDiskDefPtr def);
|
int virDomainDiskGetType(virDomainDiskDefPtr def);
|
||||||
void virDomainDiskSetType(virDomainDiskDefPtr def, int type);
|
void virDomainDiskSetType(virDomainDiskDefPtr def, int type);
|
||||||
int virDomainDiskGetActualType(virDomainDiskDefPtr def);
|
int virDomainDiskGetActualType(virDomainDiskDefPtr def);
|
||||||
|
@ -181,7 +181,6 @@ virDomainDeviceGetInfo;
|
|||||||
virDomainDeviceInfoCopy;
|
virDomainDeviceInfoCopy;
|
||||||
virDomainDeviceInfoIterate;
|
virDomainDeviceInfoIterate;
|
||||||
virDomainDeviceTypeToString;
|
virDomainDeviceTypeToString;
|
||||||
virDomainDiskAuthClear;
|
|
||||||
virDomainDiskBusTypeToString;
|
virDomainDiskBusTypeToString;
|
||||||
virDomainDiskCacheTypeFromString;
|
virDomainDiskCacheTypeFromString;
|
||||||
virDomainDiskCacheTypeToString;
|
virDomainDiskCacheTypeToString;
|
||||||
@ -1840,6 +1839,9 @@ virStorageNetHostDefFree;
|
|||||||
virStorageNetHostTransportTypeFromString;
|
virStorageNetHostTransportTypeFromString;
|
||||||
virStorageNetHostTransportTypeToString;
|
virStorageNetHostTransportTypeToString;
|
||||||
virStorageNetProtocolTypeToString;
|
virStorageNetProtocolTypeToString;
|
||||||
|
virStorageSourceAuthClear;
|
||||||
|
virStorageSourceClear;
|
||||||
|
virStorageSourcePoolDefFree;
|
||||||
virStorageSourcePoolModeTypeFromString;
|
virStorageSourcePoolModeTypeFromString;
|
||||||
virStorageSourcePoolModeTypeToString;
|
virStorageSourcePoolModeTypeToString;
|
||||||
virStorageTypeFromString;
|
virStorageTypeFromString;
|
||||||
|
@ -1310,7 +1310,7 @@ qemuTranslateDiskSourcePool(virConnectPtr conn,
|
|||||||
|
|
||||||
VIR_FREE(def->src.path);
|
VIR_FREE(def->src.path);
|
||||||
virStorageNetHostDefFree(def->src.nhosts, def->src.hosts);
|
virStorageNetHostDefFree(def->src.nhosts, def->src.hosts);
|
||||||
virDomainDiskAuthClear(&def->src);
|
virStorageSourceAuthClear(&def->src);
|
||||||
|
|
||||||
switch ((enum virStoragePoolType) pooldef->type) {
|
switch ((enum virStoragePoolType) pooldef->type) {
|
||||||
case VIR_STORAGE_POOL_DIR:
|
case VIR_STORAGE_POOL_DIR:
|
||||||
|
@ -1531,3 +1531,52 @@ virStorageNetHostDefCopy(size_t nhosts,
|
|||||||
virStorageNetHostDefFree(nhosts, ret);
|
virStorageNetHostDefFree(nhosts, ret);
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourcePoolDefFree(virStorageSourcePoolDefPtr def)
|
||||||
|
{
|
||||||
|
if (!def)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VIR_FREE(def->pool);
|
||||||
|
VIR_FREE(def->volume);
|
||||||
|
|
||||||
|
VIR_FREE(def);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceAuthClear(virStorageSourcePtr def)
|
||||||
|
{
|
||||||
|
VIR_FREE(def->auth.username);
|
||||||
|
|
||||||
|
if (def->auth.secretType == VIR_STORAGE_SECRET_TYPE_USAGE)
|
||||||
|
VIR_FREE(def->auth.secret.usage);
|
||||||
|
|
||||||
|
def->auth.secretType = VIR_STORAGE_SECRET_TYPE_NONE;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
void
|
||||||
|
virStorageSourceClear(virStorageSourcePtr def)
|
||||||
|
{
|
||||||
|
size_t i;
|
||||||
|
|
||||||
|
if (!def)
|
||||||
|
return;
|
||||||
|
|
||||||
|
VIR_FREE(def->path);
|
||||||
|
virStorageSourcePoolDefFree(def->srcpool);
|
||||||
|
VIR_FREE(def->driverName);
|
||||||
|
virStorageEncryptionFree(def->encryption);
|
||||||
|
|
||||||
|
if (def->seclabels) {
|
||||||
|
for (i = 0; i < def->nseclabels; i++)
|
||||||
|
virSecurityDeviceLabelDefFree(def->seclabels[i]);
|
||||||
|
VIR_FREE(def->seclabels);
|
||||||
|
}
|
||||||
|
|
||||||
|
virStorageNetHostDefFree(def->nhosts, def->hosts);
|
||||||
|
virStorageSourceAuthClear(def);
|
||||||
|
}
|
||||||
|
@ -262,5 +262,8 @@ void virStorageNetHostDefFree(size_t nhosts, virStorageNetHostDefPtr hosts);
|
|||||||
virStorageNetHostDefPtr virStorageNetHostDefCopy(size_t nhosts,
|
virStorageNetHostDefPtr virStorageNetHostDefCopy(size_t nhosts,
|
||||||
virStorageNetHostDefPtr hosts);
|
virStorageNetHostDefPtr hosts);
|
||||||
|
|
||||||
|
void virStorageSourceAuthClear(virStorageSourcePtr def);
|
||||||
|
void virStorageSourcePoolDefFree(virStorageSourcePoolDefPtr def);
|
||||||
|
void virStorageSourceClear(virStorageSourcePtr def);
|
||||||
|
|
||||||
#endif /* __VIR_STORAGE_FILE_H__ */
|
#endif /* __VIR_STORAGE_FILE_H__ */
|
||||||
|
Loading…
x
Reference in New Issue
Block a user