On Wed, May 18, 2016 at 03:23:50PM -0400, Laine Stump wrote:
In order to allow <address type='pci'/> with no other
attributes to
mean "I want a PCI address, but any PCI address will do" (just as
having no <address> at all usually indicates), we will need to change
several places in the code from a simple "info->type == (or !=)
VIR_DOMAIN_DEVICE_ADDRESS_TYPE_(PCI|NONE)" into something slightly
more complex, this patch adds to new functions that take a
virDomainDeviceInfoPtr and return true/false depending on 1) whether
the current state of the info indicates that we "want" a PCI address
for this device (virDeviceInfoPCIAddressWanted()) and 2) whether this
device already has a valid PCI address
(virDeviceInfoPCIAddressPresent()).
Both of these functions required the simpler check for whether a pci
address is "empty" (i.e. all of its attributes are 0, which can never
happen in a real PCI address, since slot 0 of bus 0 of domain 0 is
always reserved), so that function is also added.
---
src/conf/device_conf.h | 21 +++++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/src/conf/device_conf.h b/src/conf/device_conf.h
index 46c720d..847564b 100644
--- a/src/conf/device_conf.h
+++ b/src/conf/device_conf.h
@@ -184,6 +184,27 @@ typedef struct _virDomainDeviceInfo {
int virPCIDeviceAddressIsValid(virPCIDeviceAddressPtr addr,
bool report);
+static inline bool
I think inline keywords are pointless nowadays. Some compilers will
inline the functions even if you don't want them to.
Jan