Commit 076591009ad1 ("conf: fix zPCI address auto-generation on
s390") is doing a check for virZPCIDeviceAddressIsIncomplete()
prior to checking if the device has a ZPCI address at all. This
results in errors like these when starting Libvirt:
error : virDomainDeviceInfoFormat:7527 : internal error:
Missing uid or fid attribute of zPCI address
Fix it by moving virZPCIDeviceAddressIsIncomplete() after the
check done by virZPCIDeviceAddressIsPresent().
Fixes: 076591009ad11ec108521b52a4945d0f895fa160
CC: Bjoern Walk <bwalk(a)linux.ibm.com>
CC: Boris Fiuczynski <fiuczy(a)linux.ibm.com>
CC: Shalini Chellathurai Saroja <shalini(a)linux.ibm.com>
CC: Andrea Bolognani <abologna(a)redhat.com>
Signed-off-by: Daniel Henrique Barboza <danielhb413(a)gmail.com>
---
src/conf/domain_conf.c | 8 ++++----
1 file changed, 4 insertions(+), 4 deletions(-)
diff --git a/src/conf/domain_conf.c b/src/conf/domain_conf.c
index 31ba78b950..33f177b16f 100644
--- a/src/conf/domain_conf.c
+++ b/src/conf/domain_conf.c
@@ -7522,11 +7522,11 @@ virDomainDeviceInfoFormat(virBufferPtr buf,
virTristateSwitchTypeToString(info->addr.pci.multi));
}
- if (virZPCIDeviceAddressIsIncomplete(&info->addr.pci.zpci)) {
- virReportError(VIR_ERR_INTERNAL_ERROR, "%s",
- _("Missing uid or fid attribute of zPCI address"));
- }
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,
--
2.26.2