On Tue, 2017-01-10 at 11:55 -0500, Laine Stump wrote: > This utility function iterates through all devices looking for any > with a PCI address that has function != 0 (which implies that multiple > functions are in use on that slot), then uses an inner iterator to > find the device that's on function 0 of that same slot and sets the > "multi" in its virDomainDeviceInfo (as long as it hasn't already been > set explicitly by someone who presumably has better information than > we do). > > It isn't yet called from anywhere, so will have no functional effect. [...] > +static int > +virDomainPCIAddressSetMultiIter(virDomainDefPtr def ATTRIBUTE_UNUSED, > + virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED, > + virDomainDeviceInfoPtr info, > + void *data) virDomainPCIAddressSetAllMultiIterInner()? Or maybe virDomainPCIAddressSetAllMultiInnerIter()? Just kidding ;) [...] > +static int > +virDomainPCIAddressSetAllMultiIter(virDomainDefPtr def, > + virDomainDeviceDefPtr dev ATTRIBUTE_UNUSED, > + virDomainDeviceInfoPtr info, > + void *data ATTRIBUTE_UNUSED) > +{ > + virPCIDeviceAddressPtr testAddr; > + > + if (!info || info->type != VIR_DOMAIN_DEVICE_ADDRESS_TYPE_PCI) > + return 0; > + > + testAddr = &info->addr.pci; Empty line here. > + if (testAddr->function != 0) { > + ignore_value(virDomainDeviceInfoIterate(def, > + virDomainPCIAddressSetMultiIter, > + testAddr)); > + } > + > + return 0; > +} ACK -- Andrea Bolognani / Red Hat / Virtualization -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list