[libvirt] [PATCH 1/6] conf: make hostdev info a separate object

Laine Stump laine at laine.org
Tue Feb 21 19:14:25 UTC 2012


I'm also squashing in this (addition of virDomainHostdevDefClear()) into
PATCH 1/6, per the discussion in:

https://www.redhat.com/archives/libvir-list/2012-February/msg00895.html

---
 src/conf/domain_conf.c   |   17 ++++++++++++++++-
 src/conf/domain_conf.h   |    1 +
 src/libvirt_private.syms |    1 +
 3 files changed, 18 insertions(+), 1 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index c950391..3719097 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -1313,12 +1313,27 @@ virDomainHostdevDefPtr virDomainHostdevDefAlloc(void)
     return def;
 }
 
-void virDomainHostdevDefFree(virDomainHostdevDefPtr def)
+void virDomainHostdevDefClear(virDomainHostdevDefPtr def)
 {
     if (!def)
         return;
 
+    /* At this point, any resources in the hostdevdef *except
+     * def->info* should be freed. Currently there are no such
+     * resources.
+     */
+
     virDomainDeviceInfoFree(def->info);
+}
+
+void virDomainHostdevDefFree(virDomainHostdevDefPtr def)
+{
+    if (!def)
+        return;
+
+    /* free all subordinate objects */
+    virDomainHostdevDefClear(def);
+
     VIR_FREE(def);
 }
 
diff --git a/src/conf/domain_conf.h b/src/conf/domain_conf.h
index 1f7f25a..43cc08f 100644
--- a/src/conf/domain_conf.h
+++ b/src/conf/domain_conf.h
@@ -1741,6 +1741,7 @@ void virDomainMemballoonDefFree(virDomainMemballoonDefPtr def);
 void virDomainWatchdogDefFree(virDomainWatchdogDefPtr def);
 void virDomainVideoDefFree(virDomainVideoDefPtr def);
 virDomainHostdevDefPtr virDomainHostdevDefAlloc(void);
+void virDomainHostdevDefClear(virDomainHostdevDefPtr def);
 void virDomainHostdevDefFree(virDomainHostdevDefPtr def);
 void virDomainHubDefFree(virDomainHubDefPtr def);
 void virDomainRedirdevDefFree(virDomainRedirdevDefPtr def);
diff --git a/src/libvirt_private.syms b/src/libvirt_private.syms
index dc55f7b..0869ee6 100644
--- a/src/libvirt_private.syms
+++ b/src/libvirt_private.syms
@@ -351,6 +351,7 @@ virDomainGraphicsSpiceZlibCompressionTypeToString;
 virDomainGraphicsTypeFromString;
 virDomainGraphicsTypeToString;
 virDomainHostdevDefAlloc;
+virDomainHostdevDefClear;
 virDomainHostdevDefFree;
 virDomainHostdevModeTypeToString;
 virDomainHostdevSubsysTypeToString;
-- 
1.7.7.6




More information about the libvir-list mailing list