I think thanks to previous patches regarding sysfs, this should be
very easy to review. The XML snippet that shows how the capablity XML
looks like can be seen in the second to last patch which adds test
for it.
Again, first few patches are trivial because I couldn't be bothered to
split the branch in two and writing two cover letters and moreover
those are patches for trivialities I stumbled upon during the work on
this series.
Also, this series is based upon Peter's news.xml validation against
RNG schema:
https://www.redhat.com/archives/libvir-list/2017-March/msg01478.html
Previous discussion threads on the XML design and patches touching
this topic can be found here (not meant to be a complete list):
https://www.redhat.com/archives/libvir-list/2017-January/msg00354.html
https://www.redhat.com/archives/libvir-list/2017-January/msg00512.html
https://www.redhat.com/archives/libvir-list/2017-January/msg00633.html
https://www.redhat.com/archives/libvir-list/2017-February/msg00777.html
https://www.redhat.com/archives/libvir-list/2017-March/msg00197.html
Martin Kletzander (16):
conf: Fix possible memleak in capabilities
util: Fix virDirRead() description
virsysfs: Add comments to separate logical blocks of functions
util: Add virStringTrimOptionalNewline
util: Add virFileReadValueScaledInt
util: Add virSysfsDirOpen
util: Add virSysfsCpuDirOpen
util: Use virStringTrimOptionalNewline in virFileRead*
util: Unify behaviour of the functions in sysfs.c
util: Add virSysfsGetCPUCache* functions
tests: Test capability XMLs in vircaps2xmldata
Add RNG schema for host cache information in capabilities
Add host cache information into capabilities
tests: Add missing cache data for vircaps2xmltest
tests: Add tests for caches into vircaps2xmltest
Init host cache info in drivers
docs/schemas/capability.rng | 34 +++++
src/conf/capabilities.c | 162 ++++++++++++++++++++-
src/conf/capabilities.h | 29 ++++
src/libvirt_private.syms | 9 ++
src/lxc/lxc_conf.c | 3 +
src/openvz/openvz_conf.c | 3 +
src/phyp/phyp_driver.c | 3 +
src/qemu/qemu_capabilities.c | 3 +
src/uml/uml_conf.c | 3 +
src/util/virfile.c | 50 +++++--
src/util/virfile.h | 1 +
src/util/virhostcpu.c | 4 +-
src/util/virstring.h | 8 +
src/util/virsysfs.c | 162 +++++++++++++++++++--
src/util/virsysfs.h | 56 +++++++
src/vbox/vbox_common.c | 3 +
src/vmware/vmware_conf.c | 3 +
src/vz/vz_driver.c | 2 +
.../linux-caches/cpu/cpu0/cache/index0/id | 1 +
.../cpu/cpu0/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu0/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu0/cache/index1/id | 1 +
.../cpu/cpu0/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu0/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu0/cache/index2/id | 1 +
.../cpu/cpu0/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu0/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu0/cache/index3/id | 1 +
.../linux-caches/cpu/cpu1/cache/index0/id | 1 +
.../cpu/cpu1/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu1/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu1/cache/index1/id | 1 +
.../cpu/cpu1/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu1/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu1/cache/index2/id | 1 +
.../cpu/cpu1/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu1/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu1/cache/index3/id | 1 +
.../linux-caches/cpu/cpu2/cache/index0/id | 1 +
.../cpu/cpu2/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu2/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu2/cache/index1/id | 1 +
.../cpu/cpu2/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu2/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu2/cache/index2/id | 1 +
.../cpu/cpu2/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu2/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu2/cache/index3/id | 1 +
.../linux-caches/cpu/cpu3/cache/index0/id | 1 +
.../cpu/cpu3/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu3/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu3/cache/index1/id | 1 +
.../cpu/cpu3/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu3/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu3/cache/index2/id | 1 +
.../cpu/cpu3/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu3/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu3/cache/index3/id | 1 +
.../linux-caches/cpu/cpu4/cache/index0/id | 1 +
.../cpu/cpu4/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu4/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu4/cache/index1/id | 1 +
.../cpu/cpu4/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu4/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu4/cache/index2/id | 1 +
.../cpu/cpu4/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu4/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu4/cache/index3/id | 1 +
.../linux-caches/cpu/cpu5/cache/index0/id | 1 +
.../cpu/cpu5/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu5/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu5/cache/index1/id | 1 +
.../cpu/cpu5/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu5/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu5/cache/index2/id | 1 +
.../cpu/cpu5/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu5/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu5/cache/index3/id | 1 +
.../linux-caches/cpu/cpu6/cache/index0/id | 1 +
.../cpu/cpu6/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu6/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu6/cache/index1/id | 1 +
.../cpu/cpu6/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu6/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu6/cache/index2/id | 1 +
.../cpu/cpu6/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu6/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu6/cache/index3/id | 1 +
.../linux-caches/cpu/cpu7/cache/index0/id | 1 +
.../cpu/cpu7/cache/index0/shared_cpu_list | 2 +-
.../cpu/cpu7/cache/index0/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu7/cache/index1/id | 1 +
.../cpu/cpu7/cache/index1/shared_cpu_list | 2 +-
.../cpu/cpu7/cache/index1/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu7/cache/index2/id | 1 +
.../cpu/cpu7/cache/index2/shared_cpu_list | 2 +-
.../cpu/cpu7/cache/index2/shared_cpu_map | 2 +-
.../linux-caches/cpu/cpu7/cache/index3/id | 1 +
tests/vircaps2xmldata/vircaps-x86_64-caches.xml | 15 ++
tests/vircaps2xmltest.c | 3 +-
tests/virschematest.c | 3 +-
101 files changed, 608 insertions(+), 79 deletions(-)
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu0/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu1/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu2/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu3/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu4/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu5/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu6/cache/index3/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index0/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index1/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index2/id
create mode 100644 tests/vircaps2xmldata/linux-caches/cpu/cpu7/cache/index3/id
--
2.12.2