From: Igor Mammedov <imammedo@redhat.com>
To: Hu Tao <hutao@cn.fujitsu.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>,
lersek@redhat.com, qemu-devel@nongnu.org,
Wanlong Gao <gaowanlong@cn.fujitsu.com>
Subject: Re: [Qemu-devel] [PATCH v18 13/14] memory backend: fill memory backend ram fields
Date: Wed, 26 Feb 2014 09:47:08 +0100 [thread overview]
Message-ID: <20140226094708.76bfef50@nial.usersys.redhat.com> (raw)
In-Reply-To: <20140226050003.GC28873@G08FNSTD100614.fnst.cn.fujitsu.com>
On Wed, 26 Feb 2014 13:00:03 +0800
Hu Tao <hutao@cn.fujitsu.com> wrote:
> On Tue, Feb 25, 2014 at 03:15:53PM +0100, Paolo Bonzini wrote:
> > Il 25/02/2014 11:20, Hu Tao ha scritto:
> > >There is a problem that user_creatable_complete() is called before
> > >adding object to "/objects" (see object_create()), which triggers a
> > >assert failure when calling object_get_canonical_path() in
> > >ram_backend_memory_init(). Any ideas?
> >
> > You can call object_property_add_child before calling
> > user_creatable_complete, and then call object_unparent (in addition
> > to object_unref) if creation fails.
> >
> > Paolo
>
> Something like this?
>
> From 59c999c840e4305bb2b95389bbea32e07c1c14c0 Mon Sep 17 00:00:00 2001
> From: Hu Tao <hutao@cn.fujitsu.com>
> Date: Wed, 26 Feb 2014 12:54:34 +0800
> Subject: [PATCH] call user_creatable_complete() after adding object to
> "/objects"
>
> This makes it possible to get the path of object by calling
> object_get_canonical_path() in the complete callback if
> someone wants it.
>
> Signed-off-by: Hu Tao <hutao@cn.fujitsu.com>
> ---
> vl.c | 7 ++++---
> 1 file changed, 4 insertions(+), 3 deletions(-)
>
> diff --git a/vl.c b/vl.c
> index 1d27b34..30b4297 100644
> --- a/vl.c
> +++ b/vl.c
> @@ -2770,14 +2770,15 @@ static int object_create(QemuOpts *opts, void *opaque)
> goto out;
> }
>
> + object_property_add_child(container_get(object_get_root(), "/objects"),
> + id, obj, &local_err);
> +
> user_creatable_complete(obj, &local_err);
> if (local_err) {
> + object_unparent(obj);
> goto out;
> }
>
> - object_property_add_child(container_get(object_get_root(), "/objects"),
> - id, obj, &local_err);
> -
> out:
> object_unref(obj);
> if (local_err) {
Failure case is not handled properly,
I'm sorry that I've forgotten to mention prerequisite path
https://github.com/imammedo/qemu/commit/72a079b88e055fc690c8895a99ccbcce36f6fc1f
in stage tree https://github.com/imammedo/qemu/commits/memory-hotplug-v8
next prev parent reply other threads:[~2014-02-26 8:47 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-19 7:53 [Qemu-devel] [PATCH v18 00/14] Add support for binding guest numa nodes to host numa nodes Hu Tao
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 01/14] NUMA: move numa related code to new file numa.c Hu Tao
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 02/14] NUMA: check if the total numa memory size is equal to ram_size Hu Tao
2014-02-25 13:38 ` Eric Blake
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 03/14] NUMA: Add numa_info structure to contain numa nodes info Hu Tao
2014-02-19 9:26 ` Igor Mammedov
2014-02-21 2:54 ` hu tao
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 04/14] NUMA: convert -numa option to use OptsVisitor Hu Tao
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 05/14] NUMA: expand MAX_NODES from 64 to 128 Hu Tao
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 06/14] qapi: add SIZE type parser to string_input_visitor Hu Tao
2014-02-19 9:54 ` Igor Mammedov
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 07/14] add memdev backend infrastructure Hu Tao
2014-02-19 9:15 ` Igor Mammedov
2014-02-19 7:53 ` [Qemu-devel] [PATCH v18 08/14] pc: pass QEMUMachineInitArgs to pc_memory_init Hu Tao
2014-02-19 7:54 ` [Qemu-devel] [PATCH v18 09/14] numa: introduce memory_region_allocate_system_memory Hu Tao
2014-02-19 7:54 ` [Qemu-devel] [PATCH v18 10/14] numa: add -numa node, memdev= option Hu Tao
2014-02-19 9:50 ` Igor Mammedov
2014-02-19 11:53 ` Paolo Bonzini
2014-03-04 0:10 ` Eric Blake
2014-03-04 2:20 ` Hu Tao
2014-02-19 7:54 ` [Qemu-devel] [PATCH v18 11/14] qapi: make string input visitor parse int list Hu Tao
2014-02-19 8:17 ` Hu Tao
2014-02-19 8:42 ` Paolo Bonzini
2014-02-19 7:54 ` [Qemu-devel] [PATCH v18 12/14] qapi: add HostMemPolicy enum type Hu Tao
2014-02-19 9:08 ` Paolo Bonzini
2014-02-19 11:23 ` Igor Mammedov
2014-02-19 7:54 ` [Qemu-devel] [PATCH v18 13/14] memory backend: fill memory backend ram fields Hu Tao
2014-02-19 9:03 ` Paolo Bonzini
2014-02-19 9:36 ` Igor Mammedov
2014-02-25 10:20 ` Hu Tao
2014-02-25 14:15 ` Paolo Bonzini
2014-02-26 5:00 ` Hu Tao
2014-02-26 8:47 ` Igor Mammedov [this message]
2014-02-26 8:59 ` Hu Tao
2014-02-26 12:19 ` Igor Mammedov
2014-02-26 11:22 ` Paolo Bonzini
2014-02-26 5:57 ` Hu Tao
2014-02-26 9:05 ` Paolo Bonzini
2014-02-26 9:10 ` Igor Mammedov
2014-02-26 10:33 ` Paolo Bonzini
2014-02-26 12:31 ` Igor Mammedov
2014-02-26 12:45 ` Paolo Bonzini
2014-02-26 12:58 ` Marcelo Tosatti
2014-02-26 13:14 ` Paolo Bonzini
2014-02-26 13:43 ` Igor Mammedov
2014-02-26 13:47 ` Paolo Bonzini
2014-02-26 14:25 ` Igor Mammedov
2014-02-26 14:39 ` Paolo Bonzini
2014-02-25 10:09 ` Hu Tao
2014-03-03 3:24 ` Hu Tao
2014-02-19 7:54 ` [Qemu-devel] [PATCH v18 14/14] amp: add query-memdev Hu Tao
2014-02-19 8:14 ` Hu Tao
2014-02-19 9:07 ` Paolo Bonzini
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140226094708.76bfef50@nial.usersys.redhat.com \
--to=imammedo@redhat.com \
--cc=gaowanlong@cn.fujitsu.com \
--cc=hutao@cn.fujitsu.com \
--cc=lersek@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).