]> xenbits.xensource.com Git - libvirt.git/commitdiff
virStorageAdapterParseXML: Use virXMLProp*
authorTim Wiederhake <twiederh@redhat.com>
Wed, 19 May 2021 14:10:11 +0000 (16:10 +0200)
committerMichal Privoznik <mprivozn@redhat.com>
Thu, 20 May 2021 09:52:44 +0000 (11:52 +0200)
Signed-off-by: Tim Wiederhake <twiederh@redhat.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/conf/storage_adapter_conf.c

index a834eee81f8ed2b8d7d7d36979546ffdb5769efc..135deeb933dfacbf511f2ddb790c49ac59f59da0 100644 (file)
@@ -170,31 +170,25 @@ virStorageAdapterParseXML(virStorageAdapter *adapter,
 {
     int type;
     VIR_XPATH_NODE_AUTORESTORE(ctxt)
-    g_autofree char *adapter_type = NULL;
 
     ctxt->node = node;
 
-    if ((adapter_type = virXMLPropString(node, "type"))) {
-        if ((type = virStorageAdapterTypeFromString(adapter_type)) <= 0) {
-            virReportError(VIR_ERR_CONFIG_UNSUPPORTED,
-                           _("Unknown pool adapter type '%s'"),
-                           adapter_type);
-            return -1;
-        }
-        adapter->type = type;
+    if ((type = virXMLPropEnum(node, "type",
+                               virStorageAdapterTypeFromString,
+                               VIR_XML_PROP_NONZERO, &adapter->type)) < 0)
+        return -1;
 
-        if ((adapter->type == VIR_STORAGE_ADAPTER_TYPE_FC_HOST) &&
-            (virStorageAdapterParseXMLFCHost(node, &adapter->data.fchost)) < 0)
-            return -1;
+    if (type == 0)
+        return virStorageAdapterParseXMLLegacy(node, ctxt, adapter);
 
-        if ((adapter->type == VIR_STORAGE_ADAPTER_TYPE_SCSI_HOST) &&
-            (virStorageAdapterParseXMLSCSIHost(node, ctxt,
-                                               &adapter->data.scsi_host)) < 0)
-            return -1;
-    } else {
-        if (virStorageAdapterParseXMLLegacy(node, ctxt, adapter) < 0)
-            return -1;
-    }
+    if ((adapter->type == VIR_STORAGE_ADAPTER_TYPE_FC_HOST) &&
+        (virStorageAdapterParseXMLFCHost(node, &adapter->data.fchost)) < 0)
+        return -1;
+
+    if ((adapter->type == VIR_STORAGE_ADAPTER_TYPE_SCSI_HOST) &&
+        (virStorageAdapterParseXMLSCSIHost(node, ctxt,
+                                           &adapter->data.scsi_host)) < 0)
+        return -1;
 
     return 0;
 }