
On Wed, 2016-03-30 at 13:19 -0400, John Ferlan wrote:
On 03/21/2016 01:28 PM, Andrea Bolognani wrote:
The struct contains a single boolean field which can be applied to domain capabilities that do not represent device availability. Instead of trying to come up with a more generic name just get rid of the struct altogether. --- src/conf/domain_capabilities.c | 6 +++--- src/conf/domain_capabilities.h | 14 ++++---------- src/qemu/qemu_capabilities.c | 8 ++++---- tests/domaincapstest.c | 8 ++++---- 4 files changed, 15 insertions(+), 21 deletions(-) The construct was added as part of commit id '614581f32' - not sure if Michal felt more bool's were going to be added to virDomainCapsDevice.
The problem is that, as you noted, patch 4 adds a virDomainCapsFeatureGIC structure - if I were to follow the pattern established with eg. virDomainCapsDeviceDisk, I would have to introduce something like struct _virDomainCapsFeature { bool supported; }; and then use it as the first member of virDomainCapsFeatureGIC; however, that would clash with the virDomainCapsFeature that's already being defined in domain_conf.h. Moreover, the existing FORMAT_PROLOGUE() macro would not be usable for virDomainCapsFeatureGIC, because it checks for item->device.supported and we would probably use something like item->feature.supported instead. Last but not least, the current usage is questionable: neither virDomainCapsOS nor virDomainCapsLoader end up being inside the <devices> element, yet both include virDomainCapsDevice as their first member...
I see this affects patch 4 - I think it would be a good idea to see if Michal had "other designs" in mind before changing this. That could be separate too...
CCing Michal so he can voice his opinion on the matter. Cheers. PS: Don't worry, I have no idea what I was trying to say with the first paragraph of the commit message either :) -- Andrea Bolognani Software Engineer - Virtualization Team