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 driver: * 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 virParseVersionString() 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(-) -- 2.27.0