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);
|
||||
}
|
||||
|
||||
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
|
||||
virDomainDiskDefFree(virDomainDiskDefPtr def)
|
||||
@ -1222,7 +1186,7 @@ virDomainDiskDefFree(virDomainDiskDefPtr def)
|
||||
if (!def)
|
||||
return;
|
||||
|
||||
virDomainDiskSourceDefClear(&def->src);
|
||||
virStorageSourceClear(&def->src);
|
||||
VIR_FREE(def->serial);
|
||||
VIR_FREE(def->dst);
|
||||
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
|
||||
virDomainDiskGetType(virDomainDiskDefPtr def)
|
||||
{
|
||||
@ -4995,7 +4947,7 @@ virDomainDiskSourcePoolDefParse(xmlNodePtr node,
|
||||
ret = 0;
|
||||
|
||||
cleanup:
|
||||
virDomainDiskSourcePoolDefFree(source);
|
||||
virStorageSourcePoolDefFree(source);
|
||||
VIR_FREE(mode);
|
||||
return ret;
|
||||
}
|
||||
|
@ -2125,7 +2125,6 @@ void virDomainGraphicsDefFree(virDomainGraphicsDefPtr def);
|
||||
void virDomainInputDefFree(virDomainInputDefPtr def);
|
||||
void virDomainDiskDefFree(virDomainDiskDefPtr def);
|
||||
void virDomainLeaseDefFree(virDomainLeaseDefPtr def);
|
||||
void virDomainDiskAuthClear(virStorageSourcePtr def);
|
||||
int virDomainDiskGetType(virDomainDiskDefPtr def);
|
||||
void virDomainDiskSetType(virDomainDiskDefPtr def, int type);
|
||||
int virDomainDiskGetActualType(virDomainDiskDefPtr def);
|
||||
|
@ -181,7 +181,6 @@ virDomainDeviceGetInfo;
|
||||
virDomainDeviceInfoCopy;
|
||||
virDomainDeviceInfoIterate;
|
||||
virDomainDeviceTypeToString;
|
||||
virDomainDiskAuthClear;
|
||||
virDomainDiskBusTypeToString;
|
||||
virDomainDiskCacheTypeFromString;
|
||||
virDomainDiskCacheTypeToString;
|
||||
@ -1840,6 +1839,9 @@ virStorageNetHostDefFree;
|
||||
virStorageNetHostTransportTypeFromString;
|
||||
virStorageNetHostTransportTypeToString;
|
||||
virStorageNetProtocolTypeToString;
|
||||
virStorageSourceAuthClear;
|
||||
virStorageSourceClear;
|
||||
virStorageSourcePoolDefFree;
|
||||
virStorageSourcePoolModeTypeFromString;
|
||||
virStorageSourcePoolModeTypeToString;
|
||||
virStorageTypeFromString;
|
||||
|
@ -1310,7 +1310,7 @@ qemuTranslateDiskSourcePool(virConnectPtr conn,
|
||||
|
||||
VIR_FREE(def->src.path);
|
||||
virStorageNetHostDefFree(def->src.nhosts, def->src.hosts);
|
||||
virDomainDiskAuthClear(&def->src);
|
||||
virStorageSourceAuthClear(&def->src);
|
||||
|
||||
switch ((enum virStoragePoolType) pooldef->type) {
|
||||
case VIR_STORAGE_POOL_DIR:
|
||||
|
@ -1531,3 +1531,52 @@ virStorageNetHostDefCopy(size_t nhosts,
|
||||
virStorageNetHostDefFree(nhosts, ret);
|
||||
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 hosts);
|
||||
|
||||
void virStorageSourceAuthClear(virStorageSourcePtr def);
|
||||
void virStorageSourcePoolDefFree(virStorageSourcePoolDefPtr def);
|
||||
void virStorageSourceClear(virStorageSourcePtr def);
|
||||
|
||||
#endif /* __VIR_STORAGE_FILE_H__ */
|
||||
|
Loading…
x
Reference in New Issue
Block a user