[libvirt] [PATCH 2/6] conf: Introduce virStoragePoolSaveXML

Erik Skultety eskultet at redhat.com
Thu Apr 2 10:10:36 UTC 2015


Make XML definition saving more generic by moving the common code into
virStoragePoolSaveXML and leave case specific code to
PoolSave{Status,Config,...} functions.
---
 src/conf/storage_conf.c | 26 ++++++++++++++++++++------
 1 file changed, 20 insertions(+), 6 deletions(-)

diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index a8e9876..73b937e 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -1913,11 +1913,25 @@ virStoragePoolLoadAllConfigs(virStoragePoolObjListPtr pools,
     return ret;
 }
 
+
+static int virStoragePoolSaveXML(const char *path,
+                                 virStoragePoolDefPtr def,
+                                 const char *xml)
+{
+    char uuidstr[VIR_UUID_STRING_BUFLEN];
+    int ret = -1;
+
+    virUUIDFormat(def->uuid, uuidstr);
+    ret = virXMLSaveFile(path,
+                         virXMLPickShellSafeComment(def->name, uuidstr),
+                         "pool-edit", xml);
+
+    return ret;
+}
 int
 virStoragePoolSaveConfig(const char *configFile,
                          virStoragePoolDefPtr def)
 {
-    char uuidstr[VIR_UUID_STRING_BUFLEN];
     char *xml;
     int ret = -1;
 
@@ -1927,12 +1941,12 @@ virStoragePoolSaveConfig(const char *configFile,
         return -1;
     }
 
-    virUUIDFormat(def->uuid, uuidstr);
-    ret = virXMLSaveFile(configFile,
-                         virXMLPickShellSafeComment(def->name, uuidstr),
-                         "pool-edit", xml);
-    VIR_FREE(xml);
+    if (virStoragePoolSaveXML(configFile, def, xml))
+        goto cleanup;
 
+    ret = 0;
+ cleanup:
+    VIR_FREE(xml);
     return ret;
 }
 
-- 
1.9.3




More information about the libvir-list mailing list