Signed-off-by: Tim Wiederhake <twiederh(a)redhat.com>
---
src/conf/storage_conf.c | 15 ++++-----------
1 file changed, 4 insertions(+), 11 deletions(-)
diff --git a/src/conf/storage_conf.c b/src/conf/storage_conf.c
index 10b46ac368..e481cac75c 100644
--- a/src/conf/storage_conf.c
+++ b/src/conf/storage_conf.c
@@ -841,24 +841,17 @@ virStoragePoolDefParseXML(xmlXPathContextPtr ctxt)
virStoragePoolOptions *options;
xmlNodePtr source_node;
g_autoptr(virStoragePoolDef) def = NULL;
- g_autofree char *type = NULL;
+ virStoragePoolType type;
g_autofree char *uuid = NULL;
g_autofree char *target_path = NULL;
def = g_new0(virStoragePoolDef, 1);
- type = virXPathString("string(./@type)", ctxt);
- if (type == NULL) {
- virReportError(VIR_ERR_XML_ERROR, "%s",
- _("storage pool missing type attribute"));
+ if (virXMLPropEnum(ctxt->node, "type", virStoragePoolTypeFromString,
+ VIR_XML_PROP_REQUIRED, &type) < 0)
return NULL;
- }
- if ((def->type = virStoragePoolTypeFromString(type)) < 0) {
- virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
- _("unknown storage pool type %s"), type);
- return NULL;
- }
+ def->type = type;
if ((options = virStoragePoolOptionsForPoolType(def->type)) == NULL)
return NULL;
--
2.26.3