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