* [Qemu-devel] [PULL 1/2] numa: Fixed the memory leak of numa error message
2019-01-28 19:43 [Qemu-devel] [PULL 0/2] Machine queue, 2019-01-28 Eduardo Habkost
@ 2019-01-28 19:43 ` Eduardo Habkost
2019-01-28 19:43 ` [Qemu-devel] [PULL 2/2] hostmem: add more information in error messages Eduardo Habkost
2019-01-31 12:03 ` [Qemu-devel] [PULL 0/2] Machine queue, 2019-01-28 Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Eduardo Habkost @ 2019-01-28 19:43 UTC (permalink / raw)
To: Peter Maydell, qemu-devel
Cc: Michael S. Tsirkin, Marcel Apfelbaum, Igor Mammedov, Zhang Yi
From: Zhang Yi <yi.z.zhang@linux.intel.com>
object_get_canonical_path_component() returns a string which
must be freed using g_free().
Signed-off-by: Zhang Yi <yi.z.zhang@linux.intel.com>
Reviewed-by: Pankaj gupta <pagupta@redhat.com>
Reviewed-by: Igor Mammedov <imammedo@redhat.com>
Message-Id: <51ba6d7d0333a5517d824a870dd20887156dd15a.1546399191.git.yi.z.zhang@linux.intel.com>
Signed-off-by: Eduardo Habkost <ehabkost@redhat.com>
---
numa.c | 1 +
1 file changed, 1 insertion(+)
diff --git a/numa.c b/numa.c
index 50ec016013..3875e1efda 100644
--- a/numa.c
+++ b/numa.c
@@ -533,6 +533,7 @@ void memory_region_allocate_system_memory(MemoryRegion *mr, Object *owner,
error_report("memory backend %s is used multiple times. Each "
"-numa option must use a different memdev value.",
path);
+ g_free(path);
exit(1);
}
--
2.18.0.rc1.1.g3f1ff2140
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [Qemu-devel] [PULL 2/2] hostmem: add more information in error messages
2019-01-28 19:43 [Qemu-devel] [PULL 0/2] Machine queue, 2019-01-28 Eduardo Habkost
2019-01-28 19:43 ` [Qemu-devel] [PULL 1/2] numa: Fixed the memory leak of numa error message Eduardo Habkost
@ 2019-01-28 19:43 ` Eduardo Habkost
2019-01-31 12:03 ` [Qemu-devel] [PULL 0/2] Machine queue, 2019-01-28 Peter Maydell
2 siblings, 0 replies; 4+ messages in thread
From: Eduardo Habkost @ 2019-01-28 19:43 UTC (permalink / raw)
To: Peter Maydell, qemu-devel
Cc: Michael S. Tsirkin, Marcel Apfelbaum, Igor Mammedov, Zhang Yi
From: Zhang Yi <yi.z.zhang@linux.intel.com>
When there are multiple memory backends in use, including the object type
and 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>
Message-Id: <97d9193875747d8378c05b9e3b3cb39c1b7d2b4e.1546399191.git.yi.z.zhang@linux.intel.com>
Reviewed-by: Eduardo Habkost <ehabkost@redhat.com>
[ehabkost: reword commit message]
Signed-off-by: Eduardo Habkost <ehabkost@redhat.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 7a34e25c43..ba601ce940 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 0c8ef17653..87b19d2111 100644
--- a/backends/hostmem.c
+++ b/backends/hostmem.c
@@ -57,7 +57,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;
}
@@ -66,8 +67,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.18.0.rc1.1.g3f1ff2140
^ permalink raw reply related [flat|nested] 4+ messages in thread