]> xenbits.xensource.com Git - libvirt.git/commitdiff
conf: Introduce virStoragePoolSaveXML
authorErik Skultety <eskultet@redhat.com>
Thu, 26 Mar 2015 15:49:20 +0000 (16:49 +0100)
committerErik Skultety <eskultet@redhat.com>
Thu, 2 Apr 2015 12:16:52 +0000 (14:16 +0200)
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

index b0704487de7ed227bb7e31c722f58fb29a77f922..8b1898ba1accc3cf00e1e7d1c6c83b84032a4070 100644 (file)
@@ -1899,11 +1899,27 @@ 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;
 
@@ -1913,12 +1929,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;
 }