On 30/4/18 7:39 pm, Paolo Bonzini wrote: > On 30/04/2018 08:52, Alexey Kardashevskiy wrote: >> diff --git a/qapi/misc.json b/qapi/misc.json >> index 5636f4a..399ec74 100644 >> --- a/qapi/misc.json >> +++ b/qapi/misc.json >> @@ -1491,6 +1491,10 @@ >> # >> # List properties associated with a device. >> # >> +# Note: the handler creates a device object, enumerates properties and >> destroys >> +# the object so it only lists properties defined in DeviceClass::props or >> +# created by DeviceClass::init()/TypeInfo::instance_init(). >> +# >> # @typename: the type name of a device >> # >> # Returns: a list of ObjectPropertyInfo describing a devices properties >> @@ -1506,6 +1510,11 @@ >> # >> # List properties associated with a QOM object. >> # >> +# Note: the handler creates an object, enumerates properties and destroys >> +# the object so it only lists properties created in >> TypeInfo::instance_init(). >> +# Since the instance_init() callback of the device object adds >> +# DeviceClass::props as object properties, they will be listed as well. >> +# > > This says what it does, but not why it is a problem. Can you explain > that to me as well?
It probably is not unless someone adds properties in realize() callback, if this happens, the user would probably expect to see these in these commands but he/she won't. -- Alexey