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