Am 07.06.2012 21:31, schrieb Andreas Färber: > From: Peter Maydell <peter.mayd...@linaro.org> > > Add a new QError QERR_PROPERTY_SET_AFTER_REALIZE for attempts > to set a QOM or qdev property after the object/device has been > realized. This allows a slightly more informative diagnostic > than the previous "Insufficient permission" message. > > Signed-off-by: Peter Maydell <peter.mayd...@linaro.org> > Signed-off-by: Paolo Bonzini <pbonz...@redhat.com> > Signed-off-by: Andreas Färber <afaer...@suse.de> > --- > hw/qdev-properties.c | 15 ++++++++++----- > qerror.c | 4 ++++ > qerror.h | 3 +++ > qom/object-properties.c | 24 ++++++++++++++++-------- > qom/object.c | 6 ++++-- > 5 files changed, 37 insertions(+), 15 deletions(-) [...] > diff --git a/qom/object.c b/qom/object.c > index 40bc23a..c8a2cd7 100644 > --- a/qom/object.c > +++ b/qom/object.c > @@ -817,7 +817,8 @@ void object_property_get(Object *obj, Visitor *v, const > char *name, > } > > if (!prop->get) { > - error_set(errp, QERR_PERMISSION_DENIED); > + error_set(errp, QERR_PROPERTY_SET_AFTER_REALIZE, > + object_get_id(obj), name); > } else { > prop->get(obj, v, prop->opaque, name, errp); > } > @@ -832,7 +833,8 @@ void object_property_set(Object *obj, Visitor *v, const > char *name, > } > > if (!prop->set) { > - error_set(errp, QERR_PERMISSION_DENIED); > + error_set(errp, QERR_PROPERTY_SET_AFTER_REALIZE, > + object_get_id(obj), name); > } else { > prop->set(obj, v, prop->opaque, name, errp); > }
Hm, what does the lack of a setter have to do with realize? :) Reverting these two hunks. Andreas -- SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg