From: "Richard W.M. Jones" <rjones@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: Markus Armbruster <armbru@redhat.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>,
Jeff Cody <jcody@redhat.com>,
qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>,
Gerd Hoffmann <kraxel@redhat.com>,
Stefano Stabellini <sstabellini@kernel.org>,
Alberto Garcia <berto@igalia.com>,
"open list:Block layer core" <qemu-block@nongnu.org>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Anthony Perard <anthony.perard@citrix.com>,
Fam Zheng <famz@redhat.com>,
Chrysostomos Nanakos <chris@include.gr>,
Stefan Weil <sw@weilnetz.de>, Peter Lieven <pl@kamp.de>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
"open list:X86" <xen-devel@lists.xensource.com>,
Stefan Hajnoczi <stefanha@redhat.com>,
Richard Henderson <rth@twiddle.net>,
Kevin Wolf <kwolf@redhat.com>, Max Reitz <mreitz@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>,
Julia Lawall <julia.lawall@lip6.fr>
Subject: Re: [Qemu-devel] [PATCH v2 2/6] qdict: Add convenience helpers for wrapped puts
Date: Wed, 5 Apr 2017 09:18:35 +0100 [thread overview]
Message-ID: <20170405081835.GB30620@redhat.com> (raw)
In-Reply-To: <274218e6-5539-9eef-56bc-c2de4d11a593@redhat.com>
On Tue, Apr 04, 2017 at 05:41:08PM -0500, Eric Blake wrote:
> On 01/19/2017 08:38 AM, Eric Blake wrote:
> > On 01/19/2017 03:25 AM, Markus Armbruster wrote:
> >> Eric Blake <eblake@redhat.com> writes:
> >>
> >>> Quite a few users of qdict_put() were manually wrapping a
> >>> non-QObject. We can make such call-sites shorter, by providing
> >>> common macros to do the tedious work. Also shorten nearby
> >>> qdict_put_obj(,,QOBJECT()) sequences.
> >>>
> >>> Signed-off-by: Eric Blake <eblake@redhat.com>
> >>> Reviewed-by: Alberto Garcia <berto@igalia.com>
> >>>
> >>> ---
> >>>
> >>> v2: rebase to current master
> >>>
> >>> I'm okay if you want me to break this patch into smaller pieces.
> >>
> >> I guess I'm okay with a single piece, but I'd like to know how you did
> >> the conversion. Coccinelle? Manually?
> >
> > Manual, via grepping for put_obj.*QOBJECT. I'll see if I can do the same
> > under Coccinelle (at which point, committing the script will make it
> > easier to rerun cleanups if later code reintroduces poor usage
> > patterns), so maybe I have a v3 coming up.
>
> I've got a Coccinelle patch (mostly) working now - but it has one
> shortfall - I found places in tests/check-qdict.c that coccinelle
> didn't, and traced it to the fact that our use of g_assert_cmpint(expr,
> ==, expr) throws off the coccinelle parser so badly that it silently
> ignores the entire function body containing the use of that macro.
Julia ^ is this a known issue?
If Eric is using the Fedora version of coccinelle, then he would be
using either 1.0.6 or 1.0.5.
> v3 will be posted soon, with the best of both worlds (coccinelle
> caught spots that I missed, not to mention recent code base changes;
> and my manual search found the spots in tests/ that coccinelle
> missed).
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
WARNING: multiple messages have this Message-ID (diff)
From: "Richard W.M. Jones" <rjones@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: Stefan Hajnoczi <stefanha@redhat.com>,
qemu-devel@nongnu.org, Alexander Graf <agraf@suse.de>,
Gerd Hoffmann <kraxel@redhat.com>,
Stefano Stabellini <sstabellini@kernel.org>,
"open list:Block layer core" <qemu-block@nongnu.org>,
Michael Roth <mdroth@linux.vnet.ibm.com>,
Anthony Perard <anthony.perard@citrix.com>,
Fam Zheng <famz@redhat.com>,
Chrysostomos Nanakos <chris@include.gr>,
Stefan Weil <sw@weilnetz.de>, Peter Lieven <pl@kamp.de>,
"Dr. David Alan Gilbert" <dgilbert@redhat.com>,
Julia Lawall <julia.lawall@lip6.fr>,
"open list:X86" <xen-devel@lists.xensource.com>,
Ronnie Sahlberg <ronniesahlberg@gmail.com>,
Richard Henderson <rth@twiddle.net>,
Kevin Wolf <kwolf@redhat.com>,
Markus Armbruster <armbru@redhat.com>,
Max Reitz <mreitz@redhat.com>,
Paolo Bonzini <pbonzini@redhat.com>
Subject: Re: [Qemu-devel] [PATCH v2 2/6] qdict: Add convenience helpers for wrapped puts
Date: Wed, 5 Apr 2017 09:18:35 +0100 [thread overview]
Message-ID: <20170405081835.GB30620@redhat.com> (raw)
In-Reply-To: <274218e6-5539-9eef-56bc-c2de4d11a593@redhat.com>
On Tue, Apr 04, 2017 at 05:41:08PM -0500, Eric Blake wrote:
> On 01/19/2017 08:38 AM, Eric Blake wrote:
> > On 01/19/2017 03:25 AM, Markus Armbruster wrote:
> >> Eric Blake <eblake@redhat.com> writes:
> >>
> >>> Quite a few users of qdict_put() were manually wrapping a
> >>> non-QObject. We can make such call-sites shorter, by providing
> >>> common macros to do the tedious work. Also shorten nearby
> >>> qdict_put_obj(,,QOBJECT()) sequences.
> >>>
> >>> Signed-off-by: Eric Blake <eblake@redhat.com>
> >>> Reviewed-by: Alberto Garcia <berto@igalia.com>
> >>>
> >>> ---
> >>>
> >>> v2: rebase to current master
> >>>
> >>> I'm okay if you want me to break this patch into smaller pieces.
> >>
> >> I guess I'm okay with a single piece, but I'd like to know how you did
> >> the conversion. Coccinelle? Manually?
> >
> > Manual, via grepping for put_obj.*QOBJECT. I'll see if I can do the same
> > under Coccinelle (at which point, committing the script will make it
> > easier to rerun cleanups if later code reintroduces poor usage
> > patterns), so maybe I have a v3 coming up.
>
> I've got a Coccinelle patch (mostly) working now - but it has one
> shortfall - I found places in tests/check-qdict.c that coccinelle
> didn't, and traced it to the fact that our use of g_assert_cmpint(expr,
> ==, expr) throws off the coccinelle parser so badly that it silently
> ignores the entire function body containing the use of that macro.
Julia ^ is this a known issue?
If Eric is using the Fedora version of coccinelle, then he would be
using either 1.0.6 or 1.0.5.
> v3 will be posted soon, with the best of both worlds (coccinelle
> caught spots that I missed, not to mention recent code base changes;
> and my manual search found the spots in tests/ that coccinelle
> missed).
Rich.
--
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
virt-builder quickly builds VMs from scratch
http://libguestfs.org/virt-builder.1.html
next prev parent reply other threads:[~2017-04-05 8:18 UTC|newest]
Thread overview: 48+ messages / expand[flat|nested] mbox.gz Atom feed top
2017-01-18 16:16 [Qemu-devel] [PATCH v2 0/6] qapi-related cleanups Eric Blake
2017-01-18 16:16 ` [Qemu-devel] [PATCH v2 1/6] pci: Use struct instead of QDict to pass back parameters Eric Blake
2017-01-18 16:57 ` Michael S. Tsirkin
2017-01-19 9:08 ` Marc-André Lureau
2017-01-19 9:23 ` Markus Armbruster
2017-01-18 16:16 ` [Qemu-devel] [PATCH v2 2/6] qdict: Add convenience helpers for wrapped puts Eric Blake
2017-01-18 16:16 ` Eric Blake
2017-01-19 9:08 ` [Qemu-devel] " Marc-André Lureau
2017-01-19 9:08 ` Marc-André Lureau
2017-01-19 9:25 ` Markus Armbruster
2017-01-19 9:25 ` Markus Armbruster
2017-01-19 14:38 ` Eric Blake
2017-01-19 14:38 ` Eric Blake
2017-04-04 22:41 ` Eric Blake
2017-04-04 22:41 ` Eric Blake
2017-04-05 8:18 ` Richard W.M. Jones [this message]
2017-04-05 8:18 ` Richard W.M. Jones
2017-04-05 8:21 ` Julia Lawall
2017-04-05 8:21 ` Julia Lawall
2017-04-05 8:24 ` Richard W.M. Jones
2017-04-05 8:24 ` Richard W.M. Jones
2017-04-05 8:38 ` Julia Lawall
2017-04-05 8:38 ` Julia Lawall
2017-04-05 9:01 ` Richard W.M. Jones
2017-04-05 9:01 ` Richard W.M. Jones
2017-04-05 11:54 ` Paolo Bonzini
2017-04-05 11:54 ` Paolo Bonzini
2017-04-05 15:16 ` Eric Blake
2017-04-05 15:16 ` Eric Blake
2017-01-19 17:36 ` Stefan Hajnoczi
2017-01-19 17:36 ` Stefan Hajnoczi
2017-01-18 16:16 ` [Qemu-devel] [PATCH v2 3/6] qlist: Add convenience helpers for wrapped appends Eric Blake
2017-01-19 9:08 ` Marc-André Lureau
2017-01-18 16:16 ` [Qemu-devel] [PATCH v2 4/6] fdc-test: Avoid deprecated 'change' command Eric Blake
2017-01-19 9:30 ` Markus Armbruster
2017-01-19 14:39 ` Eric Blake
2017-04-05 2:10 ` Eric Blake
2017-04-11 8:49 ` Markus Armbruster
2017-04-11 8:58 ` Kevin Wolf
2017-01-18 16:16 ` [Qemu-devel] [PATCH v2 5/6] test-qga: Actually test 0xff sync bytes Eric Blake
2017-01-19 9:08 ` Marc-André Lureau
2017-01-19 9:45 ` Markus Armbruster
2017-01-18 16:16 ` [Qemu-devel] [PATCH v2 6/6] qapi: Promote blockdev-change-medium arguments to QAPI type Eric Blake
2017-01-19 9:07 ` Marc-André Lureau
2017-01-19 9:48 ` Markus Armbruster
2017-01-19 14:42 ` Eric Blake
2017-01-20 7:15 ` Markus Armbruster
2017-01-20 14:38 ` Eric Blake
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=20170405081835.GB30620@redhat.com \
--to=rjones@redhat.com \
--cc=agraf@suse.de \
--cc=anthony.perard@citrix.com \
--cc=armbru@redhat.com \
--cc=berto@igalia.com \
--cc=chris@include.gr \
--cc=dgilbert@redhat.com \
--cc=eblake@redhat.com \
--cc=famz@redhat.com \
--cc=jcody@redhat.com \
--cc=julia.lawall@lip6.fr \
--cc=kraxel@redhat.com \
--cc=kwolf@redhat.com \
--cc=mdroth@linux.vnet.ibm.com \
--cc=mreitz@redhat.com \
--cc=pbonzini@redhat.com \
--cc=pl@kamp.de \
--cc=qemu-block@nongnu.org \
--cc=qemu-devel@nongnu.org \
--cc=ronniesahlberg@gmail.com \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--cc=stefanha@redhat.com \
--cc=sw@weilnetz.de \
--cc=xen-devel@lists.xensource.com \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.