[libvirt] [PATCHv2 05/21] fix fallout in src/openvz

Peter Krempa pkrempa at redhat.com
Wed Mar 6 15:37:49 UTC 2013


---
 src/openvz/openvz_conf.c   | 12 ++++++++++--
 src/openvz/openvz_conf.h   |  3 +++
 src/openvz/openvz_driver.c | 16 ++++++++++------
 3 files changed, 23 insertions(+), 8 deletions(-)

diff --git a/src/openvz/openvz_conf.c b/src/openvz/openvz_conf.c
index fde32ce..63663ab 100644
--- a/src/openvz/openvz_conf.c
+++ b/src/openvz/openvz_conf.c
@@ -174,6 +174,14 @@ static int openvzDefaultConsoleType(const char *ostype ATTRIBUTE_UNUSED,
     return VIR_DOMAIN_CHR_CONSOLE_TARGET_TYPE_OPENVZ;
 }

+
+virDomainXMLConfPtr
+openvzDomainXMLConfInit(void)
+{
+    return virDomainXMLConfNew(NULL, NULL);
+}
+
+
 virCapsPtr openvzCapsInit(void)
 {
     virCapsPtr caps;
@@ -558,13 +566,13 @@ openvzFreeDriver(struct openvz_driver *driver)
     if (!driver)
         return;

+    virObjectUnref(driver->xmlconf);
     virObjectUnref(driver->domains);
     virObjectUnref(driver->caps);
     VIR_FREE(driver);
 }


-
 int openvzLoadDomains(struct openvz_driver *driver) {
     int veid, ret;
     char *status;
@@ -648,7 +656,7 @@ int openvzLoadDomains(struct openvz_driver *driver) {
             flags |= VIR_DOMAIN_OBJ_LIST_ADD_LIVE;

         if (!(dom = virDomainObjListAdd(driver->domains,
-                                        driver->caps,
+                                        driver->xmlconf,
                                         def,
                                         flags,
                                         NULL)))
diff --git a/src/openvz/openvz_conf.h b/src/openvz/openvz_conf.h
index d7f21b3..87390a2 100644
--- a/src/openvz/openvz_conf.h
+++ b/src/openvz/openvz_conf.h
@@ -45,6 +45,7 @@ struct openvz_driver {
     virMutex lock;

     virCapsPtr caps;
+    virDomainXMLConfPtr xmlconf;
     virDomainObjListPtr domains;
     int version;
 };
@@ -68,5 +69,7 @@ int openvzSetDefinedUUID(int vpsid, unsigned char *uuid);
 unsigned int openvzGetNodeCPUs(void);
 int openvzGetVEID(const char *name);
 int openvzReadNetworkConf(virDomainDefPtr def, int veid);
+virDomainXMLConfPtr openvzDomainXMLConfInit(void);
+

 #endif /* OPENVZ_CONF_H */
diff --git a/src/openvz/openvz_driver.c b/src/openvz/openvz_driver.c
index 3865206..f3c183d 100644
--- a/src/openvz/openvz_driver.c
+++ b/src/openvz/openvz_driver.c
@@ -955,8 +955,8 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
     virDomainPtr dom = NULL;

     openvzDriverLock(driver);
-    if ((vmdef = virDomainDefParseString(driver->caps, xml,
-                                         1 << VIR_DOMAIN_VIRT_OPENVZ,
+    if ((vmdef = virDomainDefParseString(driver->caps, driver->xmlconf,
+                                         xml, 1 << VIR_DOMAIN_VIRT_OPENVZ,
                                          VIR_DOMAIN_XML_INACTIVE)) == NULL)
         goto cleanup;

@@ -968,7 +968,7 @@ openvzDomainDefineXML(virConnectPtr conn, const char *xml)
         goto cleanup;
     }
     if (!(vm = virDomainObjListAdd(driver->domains,
-                                   driver->caps,
+                                   driver->xmlconf,
                                    vmdef, 0, NULL)))
         goto cleanup;
     vmdef = NULL;
@@ -1042,8 +1042,8 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
     virCheckFlags(0, NULL);

     openvzDriverLock(driver);
-    if ((vmdef = virDomainDefParseString(driver->caps, xml,
-                                         1 << VIR_DOMAIN_VIRT_OPENVZ,
+    if ((vmdef = virDomainDefParseString(driver->caps, driver->xmlconf,
+                                         xml, 1 << VIR_DOMAIN_VIRT_OPENVZ,
                                          VIR_DOMAIN_XML_INACTIVE)) == NULL)
         goto cleanup;

@@ -1055,7 +1055,7 @@ openvzDomainCreateXML(virConnectPtr conn, const char *xml,
         goto cleanup;
     }
     if (!(vm = virDomainObjListAdd(driver->domains,
-                                   driver->caps,
+                                   driver->xmlconf,
                                    vmdef,
                                    VIR_DOMAIN_OBJ_LIST_ADD_CHECK_LIVE,
                                    NULL)))
@@ -1453,6 +1453,9 @@ static virDrvOpenStatus openvzOpen(virConnectPtr conn,
     if (!(driver->caps = openvzCapsInit()))
         goto cleanup;

+    if (!(driver->xmlconf = openvzDomainXMLConfInit()))
+        goto cleanup;
+
     if (openvzLoadDomains(driver) < 0)
         goto cleanup;

@@ -2076,6 +2079,7 @@ openvzDomainUpdateDeviceFlags(virDomainPtr dom, const char *xml,
     }

     if (virDomainLiveConfigHelperMethod(driver->caps,
+                                        driver->xmlconf,
                                         vm,
                                         &flags,
                                         &vmdef) < 0)
-- 
1.8.1.1




More information about the libvir-list mailing list