The QMP/HMP (JSON) command - "qom-set" is be used to set object property by external users, so it's from user and should be marked as USER_SET. Semantically, object_property_set_qobject() is used to convert a QObject into a property value, rather than directly parsing user input. Therefore, it is not suitable for adding a "from_user" argument like object_property_parse() does. Instead, use object_property_set_flags() to set USER_SET flag immediately after object_property_set_qobject(). Signed-off-by: Zhao Liu <zhao1.liu@intel.com> --- qom/qom-qmp-cmds.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/qom/qom-qmp-cmds.c b/qom/qom-qmp-cmds.c index 48b38d2b7f73..5a98ea276da2 100644 --- a/qom/qom-qmp-cmds.c +++ b/qom/qom-qmp-cmds.c @@ -134,7 +134,12 @@ void qmp_qom_set(const char *path, const char *property, QObject *value, return; } - object_property_set_qobject(obj, property, value, errp); + if (!object_property_set_qobject(obj, property, value, errp)) { + return; + } + + object_property_set_flags(obj, property, + OBJ_PROP_FLAG_USER_SET, errp); } QObject *qmp_qom_get(const char *path, const char *property, Error **errp) -- 2.34.1