Add an object to hold the private data and call the
allocation function if it's present in xmlopt.
Signed-off-by: Ján Tomko <jtomko(a)redhat.com>
---
src/conf/domain_conf.c | 7 ++++++-
src/conf/domain_conf.h | 2 ++
2 files changed, 8 insertions(+), 1 deletion(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 400467f9c0..7d1dd717c2 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -2279,7 +2279,7 @@ virDomainControllerIsPSeriesPHB(const virDomainControllerDef *cont)
virDomainFSDefPtr
-virDomainFSDefNew(virDomainXMLOptionPtr xmlopt G_GNUC_UNUSED)
+virDomainFSDefNew(virDomainXMLOptionPtr xmlopt)
{
virDomainFSDefPtr ret;
@@ -2289,6 +2289,11 @@ virDomainFSDefNew(virDomainXMLOptionPtr xmlopt G_GNUC_UNUSED)
if (!(ret->src = virStorageSourceNew()))
goto cleanup;
+ if (xmlopt &&
+ xmlopt->privateData.fsNew &&
+ !(ret->privateData = xmlopt->privateData.fsNew()))
+ goto cleanup;
+
return ret;
cleanup:
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 8f97b53b69..c177623c47 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -817,6 +817,7 @@ struct _virDomainFSDef {
unsigned long long space_soft_limit; /* in bytes */
bool symlinksResolved;
virDomainVirtioOptionsPtr virtio;
+ virObjectPtr privateData;
};
@@ -2740,6 +2741,7 @@ struct _virDomainXMLPrivateDataCallbacks {
virDomainXMLPrivateDataNewFunc graphicsNew;
virDomainXMLPrivateDataNewFunc networkNew;
virDomainXMLPrivateDataNewFunc videoNew;
+ virDomainXMLPrivateDataNewFunc fsNew;
virDomainXMLPrivateDataFormatFunc format;
virDomainXMLPrivateDataParseFunc parse;
/* following function shall return a pointer which will be used as the
--
2.21.0