[PATCH v2 00/10] hyperv: implement new APIs & more

Matt Coleman mcoleman at datto.com
Mon Oct 5 16:20:05 UTC 2020

These patches fix a couple bugs, consolidate duplicate code, and 
implement several APIs.

Currently, some interactions with Hyper-V systems fail when the system 
is not configured for the "en-US" locale. Additionally, some CPU names 
also contain the clock frequency, making it too long for 
_virNodeInfo.model. The first two patches fix these bugs.

The second two patches clean up the code a little: one moves repeated 
operations into new helper functions; the other replaces the generic 
"get WMI class list" functions with a macro.

The next four patches implement the following APIs in the Hyper-V 
* virConnectGetCapabilities()
* virConnectGetMaxVcpus()
* virConnectGetVersion()
* virDomainGetAutostart()

Changes since v1:
* all NEWS updates are now in a single commit at the end
* long function calls have been split up into multiple lines
* improved error handling in hypervDomainLookupBy*(): they now throw
  VIR_ERR_NO_DOMAIN when appropriate
* unnecessary calls to virReportError() have been removed from
  hypervDomainGetInfo() and hypervDomainGetXMLDesc()
* HTML documentation for the unusual Hyper-V versions
* the WMI schema fix has been split into a separate commit
* hypervConnectGetVersion() uses a new hypervParseVersionString() and
  directly produces the unsigned long instead of calling

Matt Coleman (10):
  hyperv: make Msvm_ComputerSystem WQL queries locale agnostic
  hyperv: fix nodeGetInfo failures caused by long CPU names
  hyperv: break out common lookups into separate functions
  hyperv: replace generic WMI class list helpers with a macro
  hyperv: implement connectGetCapabilities
  hyperv: implement connectGetMaxVcpus
  hyperv: fix Win32_OperatingSystem WMI queries
  hyperv: implement connectGetVersion
  hyperv: implement domainGetAutostart
  news: document new Hyper-V features and bug fixes

 NEWS.rst                              |  10 +
 docs/drvhyperv.html.in                |  50 ++
 src/hyperv/hyperv_driver.c            | 751 ++++++++++++++++++--------
 src/hyperv/hyperv_private.h           |   2 +
 src/hyperv/hyperv_wmi.c               |  83 +--
 src/hyperv/hyperv_wmi.h               |  28 +-
 src/hyperv/hyperv_wmi_classes.h       |   4 +-
 src/hyperv/hyperv_wmi_generator.input |   2 +-
 8 files changed, 596 insertions(+), 334 deletions(-)


More information about the libvir-list mailing list