[libvirt] [PATCH v3 00/16] virObject adjustments for common object

John Ferlan jferlan at redhat.com
Thu Jun 22 14:02:30 UTC 2017

v2: https://www.redhat.com/archives/libvir-list/2017-June/msg00070.html

Pushed the first two patches from v2 since they were ACK'd

Changes in this series...

Fixed a couple of nits from former patch 3 & 4, but since they weren't ACK'd
they're here again, but now as patch 1 & 2.

Patch 3 & 4 are an adjusted version of the former patches 5 & 6. Instead
of going with generic @primaryKey and @secondaryKey names, this patch will
use @uuid and @name for the field names. Additionally instead of using
PoolableHashElement as a name, go with a much shorter LookupKeys. So
far the LookupKeys{UUID|Name} API's (patch 4) aren't used and could be
dropped if it's felt no future API would need them.

Former patches 7 & 8 dealing with the generic @def and @newDef object
were tossed away and the rest of the logic I'd be changing for virObject is
presented as the remaining (new to reviewers) patches 5 -> 16.

The object is named using LookupHash which is a follow-on of the LookupKeys.

If someone has better suggestion for names, then please provide suggestions
rather than just saying I hate the name! It's not my favorite name, but it
does convey what it is and IMO is better than just Element.

The patches also include the Interface object changes to illustrate that the
changes do work. I've run them through the various "interface" tests from the
Avocado VT test suite. I also did something similar for the Secret object in
my private branch, but did not include that since there are 8 patches on list
waiting to be reviewed first.

John Ferlan (16):
  util: Generate a common internal only error print
  util: Add safety net of checks to ensure valid object
  util: Introduce virObjectLookupKeys
  util: Introduce virObjectLookupKeysGet{UUID|Name}
  interface: Use virObjectLookupKeys
  util: Introduce virObjectLookupKeys*Active API's
  interface: Use virObjectLookupKeys*Active
  util: Introduce virObjectLookupHash
  util: Introduce virObjectLoookupHashGet{UUID|Name}
  util: Introduce virObjectLookupHash{Add|Remove}
  util: Introduce virObjectLookupHashFind
  util: Introduce virObjectLookupHashForEach
  util: Introduce virObjectLookupHashSearch
  util: Introduce virObjectLookupHashClone
  interface: Use virObjectLookupHash
  test: Clean up test driver Interface interactions

 src/conf/virinterfaceobj.c | 332 ++++++++++++++----------
 src/libvirt_private.syms   |  16 ++
 src/test/test_driver.c     |  55 +---
 src/util/virobject.c       | 613 ++++++++++++++++++++++++++++++++++++++++++++-
 src/util/virobject.h       | 111 ++++++++
 5 files changed, 938 insertions(+), 189 deletions(-)


More information about the libvir-list mailing list