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 <[email protected]> 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]

Reply via email to