On Wed, Jan 17, 2018 at 04:13:24PM +0800, Haozhong Zhang wrote: > When there are multiple memory backends in use, including the object type > name, ID and the property name in the error message can help users to > locate the error. > > Signed-off-by: Haozhong Zhang <haozhong.zh...@intel.com> > Suggested-by: "Dr. David Alan Gilbert" <dgilb...@redhat.com>
Reviewed-by: Michael S. Tsirkin <m...@redhat.com> > --- > backends/hostmem-file.c | 9 ++++++--- > backends/hostmem.c | 11 +++++++---- > 2 files changed, 13 insertions(+), 7 deletions(-) > > diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c > index e319ec1ad8..ed7d145365 100644 > --- a/backends/hostmem-file.c > +++ b/backends/hostmem-file.c > @@ -79,7 +79,8 @@ static void set_mem_path(Object *o, const char *str, Error > **errp) > HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o); > > if (host_memory_backend_mr_inited(backend)) { > - error_setg(errp, "cannot change property value"); > + error_setg(errp, "cannot change property 'mem-path' of %s '%s'", > + object_get_typename(o), backend->id); > return; > } > g_free(fb->mem_path); > @@ -99,7 +100,8 @@ static void file_memory_backend_set_share(Object *o, bool > value, Error **errp) > HostMemoryBackendFile *fb = MEMORY_BACKEND_FILE(o); > > if (host_memory_backend_mr_inited(backend)) { > - error_setg(errp, "cannot change property value"); > + error_setg(errp, "cannot change property 'share' of %s '%s'", > + object_get_typename(o), backend->id); > return; > } > fb->share = value; > @@ -136,7 +138,8 @@ static void file_memory_backend_set_align(Object *o, > Visitor *v, > uint64_t val; > > if (host_memory_backend_mr_inited(backend)) { > - error_setg(&local_err, "cannot change property value"); > + error_setg(&local_err, "cannot change property '%s' of %s '%s'", > + name, object_get_typename(o), backend->id); > goto out; > } > > diff --git a/backends/hostmem.c b/backends/hostmem.c > index ee2c2d5bfd..6853d19bc5 100644 > --- a/backends/hostmem.c > +++ b/backends/hostmem.c > @@ -46,7 +46,8 @@ host_memory_backend_set_size(Object *obj, Visitor *v, const > char *name, > uint64_t value; > > if (host_memory_backend_mr_inited(backend)) { > - error_setg(&local_err, "cannot change property value"); > + error_setg(&local_err, "cannot change property %s of %s '%s'", > + name, object_get_typename(obj), backend->id); > goto out; > } > > @@ -55,8 +56,9 @@ host_memory_backend_set_size(Object *obj, Visitor *v, const > char *name, > goto out; > } > if (!value) { > - error_setg(&local_err, "Property '%s.%s' doesn't take value '%" > - PRIu64 "'", object_get_typename(obj), name, value); > + error_setg(&local_err, > + "property '%s' of %s '%s' doesn't take value '%" PRIu64 > "'", > + name, object_get_typename(obj), backend->id, value); > goto out; > } > backend->size = value; > @@ -363,7 +365,8 @@ static void set_id(Object *o, const char *str, Error > **errp) > HostMemoryBackend *backend = MEMORY_BACKEND(o); > > if (backend->id) { > - error_setg(errp, "cannot change property value"); > + error_setg(errp, "cannot change property 'id' of %s '%s'", > + object_get_typename(o), backend->id); > return; > } > backend->id = g_strdup(str); > -- > 2.14.1