]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainNetDefParseXML: Separate and localize parsing of 'backend/@vhost'
authorPeter Krempa <pkrempa@redhat.com>
Thu, 15 Sep 2022 14:54:46 +0000 (16:54 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Mon, 3 Oct 2022 12:43:17 +0000 (14:43 +0200)
Move it into an independent block and move temporary variables locally.

Signed-off-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Ján Tomko <jtomko@redhat.com>
src/conf/domain_conf.c

index 390263d8060b9b0d3aafd7d2f81b26e2143fa268..077a6892d2342af45d2a9723c3444345044f5648 100644 (file)
@@ -8869,9 +8869,7 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
     g_autofree char *vhostuser_mode = NULL;
     g_autofree char *vhostuser_path = NULL;
     g_autofree char *vhostuser_type = NULL;
-    g_autofree char *vhost_path = NULL;
     g_autofree char *tap = NULL;
-    g_autofree char *vhost = NULL;
     g_autofree char *switchid = NULL;
     g_autofree char *connectionid = NULL;
     const char *prefix = xmlopt ? xmlopt->config.netPrefix : NULL;
@@ -9039,9 +9037,6 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
     if ((tap = virXPathString("string(./backend/@tap)", ctxt)))
         def->backend.tap = virFileSanitizePath(tap);
 
-    if ((vhost = virXPathString("string(./backend/@vhost)", ctxt)))
-        vhost_path = virFileSanitizePath(vhost);
-
     mac_node = virXPathNode("./mac", ctxt);
 
     if ((macaddr = virXMLPropString(mac_node, "address"))) {
@@ -9484,7 +9479,14 @@ virDomainNetDefParseXML(virDomainXMLOption *xmlopt,
                                          &def->driver.virtio.guest.ufo) < 0)
                 return NULL;
         }
-        def->backend.vhost = g_steal_pointer(&vhost_path);
+    }
+
+    if (def->type != VIR_DOMAIN_NET_TYPE_HOSTDEV &&
+        virDomainNetIsVirtioModel(def)) {
+        g_autofree char *vhost = virXPathString("string(./backend/@vhost)", ctxt);
+
+        if (vhost)
+            def->backend.vhost = virFileSanitizePath(vhost);
     }
 
     def->linkstate = VIR_DOMAIN_NET_INTERFACE_LINK_STATE_DEFAULT;