mirror of
https://github.com/libvirt/libvirt.git
synced 2025-02-25 18:55:26 -06:00
qemu: Introduce privateData object for virStorageSource
Add the object definition and helpers to store security-related private data for virStorageSources. Signed-off-by: John Ferlan <jferlan@redhat.com> Signed-off-by: Peter Krempa <pkrempa@redhat.com>
This commit is contained in:
parent
1f38445e43
commit
3ff3eb70c7
@ -932,6 +932,49 @@ qemuDomainDiskPrivateDispose(void *obj)
|
|||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static virClassPtr qemuDomainStorageSourcePrivateClass;
|
||||||
|
static void qemuDomainStorageSourcePrivateDispose(void *obj);
|
||||||
|
|
||||||
|
static int
|
||||||
|
qemuDomainStorageSourcePrivateOnceInit(void)
|
||||||
|
{
|
||||||
|
qemuDomainStorageSourcePrivateClass = virClassNew(virClassForObject(),
|
||||||
|
"qemuDomainStorageSourcePrivate",
|
||||||
|
sizeof(qemuDomainStorageSourcePrivate),
|
||||||
|
qemuDomainStorageSourcePrivateDispose);
|
||||||
|
if (!qemuDomainStorageSourcePrivateClass)
|
||||||
|
return -1;
|
||||||
|
else
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
VIR_ONCE_GLOBAL_INIT(qemuDomainStorageSourcePrivate)
|
||||||
|
|
||||||
|
virObjectPtr
|
||||||
|
qemuDomainStorageSourcePrivateNew(void)
|
||||||
|
{
|
||||||
|
qemuDomainStorageSourcePrivatePtr priv;
|
||||||
|
|
||||||
|
if (qemuDomainStorageSourcePrivateInitialize() < 0)
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
if (!(priv = virObjectNew(qemuDomainStorageSourcePrivateClass)))
|
||||||
|
return NULL;
|
||||||
|
|
||||||
|
return (virObjectPtr) priv;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
static void
|
||||||
|
qemuDomainStorageSourcePrivateDispose(void *obj)
|
||||||
|
{
|
||||||
|
qemuDomainStorageSourcePrivatePtr priv = obj;
|
||||||
|
|
||||||
|
qemuDomainSecretInfoFree(&priv->secinfo);
|
||||||
|
qemuDomainSecretInfoFree(&priv->encinfo);
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static virClassPtr qemuDomainHostdevPrivateClass;
|
static virClassPtr qemuDomainHostdevPrivateClass;
|
||||||
static void qemuDomainHostdevPrivateDispose(void *obj);
|
static void qemuDomainHostdevPrivateDispose(void *obj);
|
||||||
|
|
||||||
|
@ -363,6 +363,23 @@ struct _qemuDomainDiskPrivate {
|
|||||||
bool removable; /* device media can be removed/changed */
|
bool removable; /* device media can be removed/changed */
|
||||||
};
|
};
|
||||||
|
|
||||||
|
# define QEMU_DOMAIN_STORAGE_SOURCE_PRIVATE(src) \
|
||||||
|
((qemuDomainStorageSourcePrivatePtr) (src)->privateData)
|
||||||
|
|
||||||
|
typedef struct _qemuDomainStorageSourcePrivate qemuDomainStorageSourcePrivate;
|
||||||
|
typedef qemuDomainStorageSourcePrivate *qemuDomainStorageSourcePrivatePtr;
|
||||||
|
struct _qemuDomainStorageSourcePrivate {
|
||||||
|
virObject parent;
|
||||||
|
|
||||||
|
/* data required for authentication to the storage source */
|
||||||
|
qemuDomainSecretInfoPtr secinfo;
|
||||||
|
|
||||||
|
/* data required for decryption of encrypted storage source */
|
||||||
|
qemuDomainSecretInfoPtr encinfo;
|
||||||
|
};
|
||||||
|
|
||||||
|
virObjectPtr qemuDomainStorageSourcePrivateNew(void);
|
||||||
|
|
||||||
# define QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev) \
|
# define QEMU_DOMAIN_HOSTDEV_PRIVATE(hostdev) \
|
||||||
((qemuDomainHostdevPrivatePtr) (hostdev)->privateData)
|
((qemuDomainHostdevPrivatePtr) (hostdev)->privateData)
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user