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.zhang@intel.com>
Suggested-by: "Dr. David Alan Gilbert" <dgilbert@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
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.zhang@intel.com>
> Suggested-by: "Dr. David Alan Gilbert" <dgilbert@redhat.com>
Reviewed-by: Michael S. Tsirkin <mst@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
© 2016 - 2025 Red Hat, Inc.