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>
Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
---
backends/hostmem-file.c | 6 ++++--
backends/hostmem.c | 8 +++++---
2 files changed, 9 insertions(+), 5 deletions(-)
diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
index e640749..0dd7a90 100644
--- a/backends/hostmem-file.c
+++ b/backends/hostmem-file.c
@@ -82,7 +82,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",
+ object_get_typename(o));
return;
}
g_free(fb->mem_path);
@@ -120,7 +121,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",
+ name, object_get_typename(o));
goto out;
}
diff --git a/backends/hostmem.c b/backends/hostmem.c
index 1a89342..e2bcf9f 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -47,7 +47,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 ",
+ name, object_get_typename(obj));
goto out;
}
@@ -56,8 +57,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 doesn't take value '%" PRIu64 "'",
+ name, object_get_typename(obj), value);
goto out;
}
backend->size = value;
--
2.7.4
On Wed, Jan 02, 2019 at 01:26:24PM +0800, Zhang Yi 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.
I don't see the object ID anywhere in the code below.
With the commit message corrected:
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
I'm queueing it on machine-next.
>
> Signed-off-by: Haozhong Zhang <haozhong.zhang@intel.com>
> Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
> ---
> backends/hostmem-file.c | 6 ++++--
> backends/hostmem.c | 8 +++++---
> 2 files changed, 9 insertions(+), 5 deletions(-)
>
> diff --git a/backends/hostmem-file.c b/backends/hostmem-file.c
> index e640749..0dd7a90 100644
> --- a/backends/hostmem-file.c
> +++ b/backends/hostmem-file.c
> @@ -82,7 +82,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",
> + object_get_typename(o));
> return;
> }
> g_free(fb->mem_path);
> @@ -120,7 +121,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",
> + name, object_get_typename(o));
> goto out;
> }
>
> diff --git a/backends/hostmem.c b/backends/hostmem.c
> index 1a89342..e2bcf9f 100644
> --- a/backends/hostmem.c
> +++ b/backends/hostmem.c
> @@ -47,7 +47,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 ",
> + name, object_get_typename(obj));
> goto out;
> }
>
> @@ -56,8 +57,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 doesn't take value '%" PRIu64 "'",
> + name, object_get_typename(obj), value);
> goto out;
> }
> backend->size = value;
> --
> 2.7.4
>
>
--
Eduardo
© 2016 - 2025 Red Hat, Inc.