Libvirt developers: does libvirt use member @type of the reply of qom-list, qom-list-properties, qom-list-get? I'm asking because Marc-André's work changes many values to add a more useful replacement. I think we should deprecate @type. I'd like to find out whether we need to preserve the values for the deprecation grace period. Markus Armbruster <armbru@redhat.com> writes:
I used qom-list-types and qom-list-properties to list all properties and their types, then looked for changes. This can miss changes in dynamically created properties; see the note on qom-list-properties in qapi/qom.json. Moreover, I ran into a few QOM types where qom-list-properties is broken.
These are ast2700-a1, ast2700-a2, and several riscv CPUs. A fix for the latter has been queued.
1. Close misses of QAPI type names change to actual QAPI type names
old property type new property type --------------------------------------------- string str uint64_t uint64 uint64_t size int32_t int32 int size uint32_t uint32 [uint16] uint16List NotifyVMexitOption NotifyVmexitOption CXLFixedMemoryWindow CXLFixedMemoryWindowOptionsList
2. Incorrect QAPI type names change to correct ones
old property type new property type --------------------------------------------- SgxEPC SgxEPCList QAuthZListRule QAuthZListRuleList X86CPUFeatureWordInfo X86CPUFeatureWordInfoList bool Pca9552LedState
3. Less than useful QAPI type names change to more useful ones
old property type new property type --------------------------------------------- str Pca9552PinState str Pca9554PinState
4. Lazy crap
old property type new property type --------------------------------------------- list link<arm-cpu>List list strList list uint16List list uint32List list uint64List list uint8List struct any
I'm not sure the first one is what it should be.
I need to have a closer look at the last one.
5. Inventive crap
old property type new property type --------------------------------------------- busnr uint8 guest statistics VirtioBalloonGuestStats loadparm str on|off|split OnOffSplit struct tm StructTm
6. An odd duck
old property type new property type --------------------------------------------- str int32
This is pci-device property addr. See PATCH 54.
On the way, I noted properties with anti-social names:
QOM type name property name --------------------------------- acpi-ged memhp container[0] e500-spin e500 spin pv device[0]