From: "Andreas Färber" <afaerber@suse.de>
To: Alexander Barabash <alexander_barabash@mentor.com>
Cc: Paolo Bonzini <pbonzini@redhat.com>, qemu-devel <qemu-devel@nongnu.org>
Subject: Re: [Qemu-devel] [PATCH v2] Revised: Add object_property_get_child().
Date: Sun, 19 Feb 2012 18:14:46 +0100 [thread overview]
Message-ID: <4F412E06.8020104@suse.de> (raw)
In-Reply-To: <4F411D76.9020105@mentor.com>
Am 19.02.2012 17:04, schrieb Alexander Barabash:
>
> Add object_property_get_child().
>
> Adding a direct accessor to a child property.
>
> In the existing implementation, object_property_get() must be used,
> with with a visitor, implementing the 'type_str' callback,
> receiving the child's canonical path.
>
> In the new implementation, the child is returned directly.
> For link properties, object_property_get_link() is used
> to resolve the link.
>
> Also, in the new implementation, object_property_get_child() is used
> as a subroutine of object_resolve_abs_path(). This changes the way
> object_resolve_abs_path() operates, moving away from directly peeking
> the property's 'opaque' field to using object_property_get_link().
>
> Thus, in the mew implementation link properties are resolved in the
> same way,
> as they are when an absolute path is resolved.
>
> Errors relevant to the operation, QERR_OBJECT_PROPERTY_NOT_FOUND
> and QERR_OBJECT_PROPERTY_INVALID_TYPE were added.
>
> Also, in the new implementation, some common sense refactoring was done
> in the file 'qom/object.c' in the code extracting child and link
> properties.
>
> Signed-off-by: Alexander Barabash <alexander_barabash@mentor.com>
Please use git-send-email to submit your patches: The commit message is
unnecessarily indented and the first line is duplicated. Instead of
"Revised: " (which v2 already indicates) the subject should mention the
topic, here "qom: ".
http://wiki.qemu.org/Contribute/SubmitAPatch
Your patch is doing too many things at once. Please split it up into a
series of easily digestable and bisectable patches, e.g.:
* ..._PREFIX/SUFFIX introduction and use in _add_child/link,
* ..._is_child/_is_link introduction and use in
_property_del_child/_get_canonical_path/_resolve_partial_path,
* link_type_to_type() and use in _set_link_property,
* REPORT_OBJECT_ERROR(),
* object_property_get_child().
> +/* Go from LINK_PROPERTY_TYPE_PREFIX FOO LINK_PROPERTY_TYPE_SUFFIX to
> FOO. */
> +static gchar *link_type_to_type(const gchar *type)
> +{
> + return g_strndup(&type[sizeof(LINK_PROPERTY_TYPE_PREFIX) - 1],
> + strlen(type)
> + - (sizeof(LINK_PROPERTY_TYPE_PREFIX) - 1)
> + - (sizeof(LINK_PROPERTY_TYPE_SUFFIX) - 1));
Any reason not to use strlen()? I don't think this is a hot path, and
repeated sizeof() - 1 does not read so nice. The alternative would be to
hardcode the offsets.
Andreas
--
SUSE LINUX Products GmbH, Maxfeldstr. 5, 90409 Nürnberg, Germany
GF: Jeff Hawn, Jennifer Guild, Felix Imendörffer; HRB 16746 AG Nürnberg
next prev parent reply other threads:[~2012-02-19 17:14 UTC|newest]
Thread overview: 12+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-02-16 17:39 [Qemu-devel] [PATCH] Add object_property_get_child() Alexander Barabash
2012-02-16 18:16 ` Peter Maydell
2012-02-17 10:17 ` Paolo Bonzini
2012-02-19 12:36 ` Alexander Barabash
2012-02-19 16:04 ` [Qemu-devel] [PATCH v2] Revised: " Alexander Barabash
2012-02-19 17:14 ` Andreas Färber [this message]
2012-02-19 18:30 ` Peter Maydell
2012-02-20 15:06 ` Alexander Barabash
2012-02-20 11:14 ` Alexander Barabash
2012-02-20 9:11 ` [Qemu-devel] [PATCH] " Paolo Bonzini
2012-02-20 11:13 ` Alexander Barabash
2012-02-20 11:33 ` 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=4F412E06.8020104@suse.de \
--to=afaerber@suse.de \
--cc=alexander_barabash@mentor.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).