]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
conf: add private data to virDomainFSDef
authorJán Tomko <jtomko@redhat.com>
Tue, 10 Dec 2019 12:52:52 +0000 (13:52 +0100)
committerJán Tomko <jtomko@redhat.com>
Wed, 8 Jan 2020 08:51:01 +0000 (09:51 +0100)
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@redhat.com>
Reviewed-by: Daniel P. Berrangé <berrange@redhat.com>
src/conf/domain_conf.c
src/conf/domain_conf.h

index 731ed067b726a96087b8e7bd07d090862b784bf6..12902419235f37e9250b8e1eea144820d3f11a18 100644 (file)
@@ -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:
index 16653e8aac18e1a3e92beea83bdd184a0436b35d..c3a6ccdcda9bb4743c4b96714955c0ee0d41417a 100644 (file)
@@ -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