]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virDomainHostdevDefFormatSubsys: Split out formatting of vHBA subsystem
authorPeter Krempa <pkrempa@redhat.com>
Fri, 10 Jul 2020 10:26:31 +0000 (12:26 +0200)
committerPeter Krempa <pkrempa@redhat.com>
Fri, 17 Jul 2020 06:22:42 +0000 (08:22 +0200)
Similarly to previous commit split out formatting of the vHBA subsystem
related stuff.

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

index bbbb4e47c34a93f5a5fb2e20c103dcb47e4cac5d..39cd40f8084f0d2de7b45f96193304c1700bcdb6 100644 (file)
@@ -26148,6 +26148,21 @@ virDomainHostdevDefFormatSubsysSCSI(virBufferPtr buf,
 }
 
 
+static void
+virDomainHostdevDefFormatSubsysSCSIHost(virBufferPtr buf,
+                                        virDomainHostdevDefPtr def)
+{
+    g_auto(virBuffer) sourceAttrBuf = VIR_BUFFER_INITIALIZER;
+    virDomainHostdevSubsysSCSIVHostPtr hostsrc = &def->source.subsys.u.scsi_host;
+
+    virBufferAsprintf(&sourceAttrBuf, " protocol='%s' wwpn='%s'",
+                      virDomainHostdevSubsysSCSIHostProtocolTypeToString(hostsrc->protocol),
+                      hostsrc->wwpn);
+
+    virXMLFormatElement(buf, "source", &sourceAttrBuf, NULL);
+}
+
+
 static int
 virDomainHostdevDefFormatSubsys(virBufferPtr buf,
                                 virDomainHostdevDefPtr def,
@@ -26155,9 +26170,7 @@ virDomainHostdevDefFormatSubsys(virBufferPtr buf,
                                 bool includeTypeInAddr,
                                 virDomainXMLOptionPtr xmlopt)
 {
-    g_auto(virBuffer) sourceAttrBuf = VIR_BUFFER_INITIALIZER;
     g_auto(virBuffer) sourceChildBuf = VIR_BUFFER_INIT_CHILD(buf);
-    virDomainHostdevSubsysSCSIVHostPtr hostsrc = &def->source.subsys.u.scsi_host;
     virDomainHostdevSubsysMediatedDevPtr mdevsrc = &def->source.subsys.u.mdev;
 
     switch ((virDomainHostdevSubsysType) def->source.subsys.type) {
@@ -26172,6 +26185,9 @@ virDomainHostdevDefFormatSubsys(virBufferPtr buf,
         return virDomainHostdevDefFormatSubsysSCSI(buf, def, flags, includeTypeInAddr, xmlopt);
 
     case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI_HOST:
+        virDomainHostdevDefFormatSubsysSCSIHost(buf, def);
+        return 0;
+
     case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_MDEV:
         break;
 
@@ -26182,14 +26198,6 @@ virDomainHostdevDefFormatSubsys(virBufferPtr buf,
     }
 
 
-    if (def->source.subsys.type == VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_SCSI_HOST) {
-        const char *protocol =
-            virDomainHostdevSubsysSCSIHostProtocolTypeToString(hostsrc->protocol);
-
-        virBufferAsprintf(&sourceAttrBuf, " protocol='%s' wwpn='%s'",
-                          protocol, hostsrc->wwpn);
-    }
-
     switch (def->source.subsys.type) {
     case VIR_DOMAIN_HOSTDEV_SUBSYS_TYPE_USB:
         break;
@@ -26210,7 +26218,7 @@ virDomainHostdevDefFormatSubsys(virBufferPtr buf,
         return -1;
     }
 
-    virXMLFormatElement(buf, "source", &sourceAttrBuf, &sourceChildBuf);
+    virXMLFormatElement(buf, "source", NULL, &sourceChildBuf);
 
     return 0;
 }