
On Tue, 2018-09-04 at 16:39 +0800, Yi Min Zhao wrote:
We should ensure that the Qemu should support zPCI when zPCI address is
s/Qemu/QEMU/ [...]
+static int +qemuDomainZPCIAddressDefValidate(virDomainDeviceDef *dev, + virQEMUCapsPtr qemuCaps)
The second argument is not aligned properly. I'd also change the name: qemuDomainDeviceDefValidateZPCIAddress() perhaps? It's quite a mouthful, but also more accurate. [...]
+ virReportError(VIR_ERR_CONFIG_UNSUPPORTED, + "%s", + _("This QEMU binary doesn't support zPCI."));
No full stop at the end of the error message, please. [...]
@@ -5741,6 +5762,10 @@ qemuDomainDeviceDefValidate(const virDomainDeviceDef *dev, def->emulator))) return -1;
+ ret = qemuDomainZPCIAddressDefValidate((virDomainDeviceDef *)dev, qemuCaps);
This cast is kinds gross. I realize virDomainDeviceGetInfo() requires the pointer to be non-const, but from a semantics point of view qemuDomainZPCIAddressDefValidate() should be okay with being passed a const pointer - it's only validating the device, not changing it, after all. Please move the cast into the function instead of requiring the caller to perform it. We should also have a generic qemuDomainDeviceDefValidateAddress() wrapper that calls the zPCI-specific one only for PCI devices, and call that one from here. -- Andrea Bolognani / Red Hat / Virtualization