[PATCH 2/3] domain_conf: Move zPCI validation from formatter to validator

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



In 076591009ad a validation code was added to
virDomainDeviceInfoFormat() which reports an error if zPCI
address entered in was incomplete. But, there are two problems
with this approach.

The first problem is the placement of the code - it doesn't
belong into XML formatter rather than XML validator.

The second one is that the code doesn't check if the PCI address
it's validating has zPCI extension and thus the error is reported
for normal PCI addresses too, hence the change of the function
that's being called.

The second problem is addressed in d482cf6bef which doesn't
address the first problem.

Signed-off-by: Michal Privoznik <mprivozn@xxxxxxxxxx>
---
 src/conf/domain_conf.c   | 4 ----
 src/qemu/qemu_validate.c | 6 ++++++
 2 files changed, 6 insertions(+), 4 deletions(-)

diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 33f177b16f..0c883cd834 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -7523,10 +7523,6 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
         }
 
         if (virZPCIDeviceAddressIsPresent(&info->addr.pci.zpci)) {
-            if (virZPCIDeviceAddressIsIncomplete(&info->addr.pci.zpci))
-                virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
-                               _("Missing uid or fid attribute of zPCI address"));
-
             virBufferAsprintf(&childBuf,
                               "<zpci uid='0x%.4x' fid='0x%.8x'/>\n",
                               info->addr.pci.zpci.uid.value,
diff --git a/src/qemu/qemu_validate.c b/src/qemu/qemu_validate.c
index 78efa68584..2d3a2ec93a 100644
--- a/src/qemu/qemu_validate.c
+++ b/src/qemu/qemu_validate.c
@@ -1028,6 +1028,12 @@ qemuValidateDomainDeviceDefZPCIAddress(virDomainDeviceInfoPtr info,
         return -1;
     }
 
+    if (virDeviceInfoPCIAddressExtensionIsWanted(info)) {
+        virReportError(VIR_ERR_XML_ERROR, "%s",
+                       _("Missing uid or fid attribute of zPCI address"));
+        return -1;
+    }
+
     /* We don't need to check fid because fid covers
      * all range of uint32 type.
      */
-- 
2.26.2




[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]

  Powered by Linux