[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH 2.1 28/28] qmp: add query-memdev
From: |
Hu Tao |
Subject: |
Re: [Qemu-devel] [PATCH 2.1 28/28] qmp: add query-memdev |
Date: |
Wed, 5 Mar 2014 11:48:31 +0800 |
User-agent: |
Mutt/1.5.21 (2010-09-15) |
<...>
> +
> +MemdevList *qmp_query_memdev(Error **errp)
> +{
> + QmpOutputVisitor *ov = qmp_output_visitor_new();
> + QmpInputVisitor *iv;
> + QObject *obj;
> + MemdevList *list = NULL, *m;
> + HostMemoryBackend *backend;
> + Error *err = NULL;
> + int i;
> +
> + for (i = 0; i < nb_numa_nodes; i++) {
> + backend = numa_info[i].node_memdev;
> +
> + m = g_malloc0(sizeof(*m));
> + m->value = g_malloc0(sizeof(*m->value));
> + m->value->size = object_property_get_int(OBJECT(backend), "size",
> + &err);
> + if (err) {
> + goto error;
> + }
> + m->value->policy = object_property_get_str(OBJECT(backend), "policy",
> + &err);
> + if (err) {
> + goto error;
> + }
> + object_property_get(OBJECT(backend), qmp_output_get_visitor(ov),
> + "host-nodes", &err);
> + if (err) {
> + goto error;
> + }
> + obj = qmp_output_get_qobject(ov);
Unlike string output visitor, the internal state of qmp output visitor
retains, it should be cleaned up at the end of every loop.
> + iv = qmp_input_visitor_new(obj);
> + qobject_decref(obj);
> +
> + visit_type_uint16List(qmp_input_get_visitor(iv),
> + &m->value->host_nodes, NULL, &err);
> + if (err) {
> + qmp_input_visitor_cleanup(iv);
> + goto error;
> + }
> +
> + m->next = list;
> + list = m;
> + qmp_input_visitor_cleanup(iv);
> + }
> +
> + qmp_output_visitor_cleanup(ov);
> + return list;
> +
> +error:
> + while (list) {
> + m = list;
> + list = list->next;
> + g_free(m->value);
> + g_free(m);
> + }
> + qerror_report_err(err);
> + qmp_output_visitor_cleanup(ov);
> + return NULL;
> +}
- [Qemu-devel] [PATCH 2.1 23/28] hostmem: add merge and dump properties, (continued)
- [Qemu-devel] [PATCH 2.1 23/28] hostmem: add merge and dump properties, Paolo Bonzini, 2014/03/04
- [Qemu-devel] [PATCH 2.1 26/28] configure: add Linux libnuma detection, Paolo Bonzini, 2014/03/04
- [Qemu-devel] [PATCH 2.1 24/28] hostmem: allow preallocation of any memory region, Paolo Bonzini, 2014/03/04
- [Qemu-devel] [PATCH 2.1 27/28] hostmem: add properties for NUMA memory policy, Paolo Bonzini, 2014/03/04
- [Qemu-devel] [PATCH 2.1 25/28] hostmem: add property to map memory with MAP_SHARED, Paolo Bonzini, 2014/03/04
- [Qemu-devel] [PATCH 2.1 28/28] qmp: add query-memdev, Paolo Bonzini, 2014/03/04
- Re: [Qemu-devel] [PATCH 2.1 28/28] qmp: add query-memdev,
Hu Tao <=
Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Andreas Färber, 2014/03/05
- Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Paolo Bonzini, 2014/03/05
- Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Andreas Färber, 2014/03/07
- Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Paolo Bonzini, 2014/03/07
- Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Igor Mammedov, 2014/03/07
- Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Paolo Bonzini, 2014/03/07
- Re: [Qemu-devel] [PATCH 2.1 00/28] Current state of NUMA series, and hostmem improvements, Igor Mammedov, 2014/03/07