The sources of properities parsed into qdict include:

 1) External ("TYPE_USER_CREATABLE") object:
    * -object command line used for external ("TYPE_USER_CREATABLE")
      object.

 2) External device:
    * -device command line - parsed based on keyval or json.

 3) External machine options:
    * -machine command line - parsed based on keyval.

 4) Internal machine options:
    * Builtin default machine options string:
      MachineClass::default_machine_opts - parsed based on keyval, too.

All of these cases are using object_set_properties_from_qdict() to set
properties. It's necessary to detect and report deprecated properities
for these cases.

Signed-off-by: Zhao Liu <[email protected]>
---
 qom/object_interfaces.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/qom/object_interfaces.c b/qom/object_interfaces.c
index 415cbee8c5cf..b58a24c27ce7 100644
--- a/qom/object_interfaces.c
+++ b/qom/object_interfaces.c
@@ -53,7 +53,7 @@ static void object_set_properties_from_qdict(Object *obj, 
const QDict *qdict,
         return;
     }
     for (e = qdict_first(qdict); e; e = qdict_next(qdict, e)) {
-        if (!object_property_set(obj, e->key, v, errp)) {
+        if (!object_property_set_full(obj, e->key, v, true, errp)) {
             goto out;
         }
     }
-- 
2.34.1


Reply via email to