qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
* [Qemu-devel] [RFC v0] HACK: qom: object_property_set: abort on failure
@ 2012-08-14  6:27 Peter A. G. Crosthwaite
  2012-08-14 12:50 ` Anthony Liguori
  0 siblings, 1 reply; 5+ messages in thread
From: Peter A. G. Crosthwaite @ 2012-08-14  6:27 UTC (permalink / raw)
  To: qemu-devel, pbonzini, aliguori; +Cc: peter.crosthwaite

Hi All. A couple of times now ive had debug issues due to silent failure of
object_property_set. This function silently fails if the requested property
does not exist for the target object. To trap this error I applied the patch
below to my tree, but I am assuming that this is not mergeable as is as im
guessing there are clients out there that are speculatively trying to set props.

Could someone confirm the expected policy here? is setting a non-existant
property supposed to be a no-op (as it currently is) or should it fail
gracefully?

Whats the best meachinism for creating a no_fail version of object_property_set,
for the 90% case where a non-existant property is an error in machine model
development?

Signed-off-by: Peter A. G. Crosthwaite <peter.crosthwaite@petalogix.com>
---
 qom/object.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

diff --git a/qom/object.c b/qom/object.c
index a552be2..6e875a8 100644
--- a/qom/object.c
+++ b/qom/object.c
@@ -687,7 +687,7 @@ void object_property_set(Object *obj, Visitor *v, const char *name,
 {
     ObjectProperty *prop = object_property_find(obj, name, errp);
     if (prop == NULL) {
-        return;
+        abort();
     }
 
     if (!prop->set) {
-- 
1.7.0.4

^ permalink raw reply related	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-08-21  0:34 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-08-14  6:27 [Qemu-devel] [RFC v0] HACK: qom: object_property_set: abort on failure Peter A. G. Crosthwaite
2012-08-14 12:50 ` Anthony Liguori
2012-08-20  2:18   ` Peter Crosthwaite
2012-08-20 11:02     ` Andreas Färber
2012-08-21  0:34       ` Peter Crosthwaite

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).