All of lore.kernel.org
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: John Snow <jsnow@redhat.com>, Max Reitz <mreitz@redhat.com>,
	qemu-block@nongnu.org, qemu-devel@nongnu.org
Cc: "Dr. David Alan Gilbert" <dgilbert@redhat.com>,
	Jeff Cody <jcody@redhat.com>,
	Markus Armbruster <armbru@redhat.com>,
	Kevin Wolf <kwolf@redhat.com>,
	jtc@redhat.com
Subject: Re: [Qemu-devel] [PATCH v4 06/15] block/mirror: conservative mirror_exit refactor
Date: Wed, 5 Sep 2018 10:50:03 -0500	[thread overview]
Message-ID: <cbfcc66b-f8e3-7677-909e-e71024da5c5f@redhat.com> (raw)
In-Reply-To: <a84c5441-a2be-e680-2b78-a9c0251d0aa7@redhat.com>

On 09/05/2018 08:09 AM, John Snow wrote:
> 
> 
> On 09/05/2018 06:43 AM, Max Reitz wrote:
>> On 2018-09-04 19:09, John Snow wrote:
>>> For purposes of minimum code movement, refactor the mirror_exit
>>> callback to use the post-finalization callbacks in a trivial way.
>>>
>>> Signed-off-by: John Snow <jsnow@redhat.com>
>>> ---
>>>   block/mirror.c | 34 +++++++++++++++++++++++++++-------
>>>   1 file changed, 27 insertions(+), 7 deletions(-)
>>
>> Reviewed-by: Max Reitz <mreitz@redhat.com>
>>
>> (Although I believe the ?: hunk from the previous patch should be here.
>> Also note that we have a couple of places that make use of the GNU
>> extension for "?:" as a binary operator (as in "x ?: y" returns x if
>> x != 0).  Just in case you find "s->to_replace ?: src" as appealing as I
>> do.)
>>
> 
> Ah, I wasn't sure that was OK to use. Meh, since I goofed up the last
> patch I'll use that version.

My minor reason for liking 'a ?: b' - it's less typing, and makes 
avoiding long lines easier.  My major reason for liking it: 'a() ?: b' 
only evaluates a() once, unlike 'a() ? a() : b' when taking the true 
branch, which can be particularly important if a() has side effects, but 
is still an efficiency issue even when side effects are not in play. 
Yes, you can always rewrite things to use a temporary variable to avoid 
the ?: operator (which in turn can inflate a single-line expression into 
multiple lines), but there are indeed enough places in the code base 
where we rely on this extension that it doesn't hurt to add more uses.

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.           +1-919-301-3266
Virtualization:  qemu.org | libvirt.org

  reply	other threads:[~2018-09-05 15:50 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-09-04 17:09 [Qemu-devel] [PATCH v4 00/15] jobs: Job Exit Refactoring Pt 2 John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 01/15] block/commit: add block job creation flags John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 02/15] block/mirror: " John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 03/15] block/stream: " John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 04/15] block/commit: refactor commit to use job callbacks John Snow
2018-09-04 18:46   ` Jeff Cody
2018-09-04 20:32     ` John Snow
2018-09-05 10:27       ` Max Reitz
2018-09-05 10:49         ` Kevin Wolf
2018-09-05 11:37           ` Max Reitz
2018-09-05 11:53             ` Kevin Wolf
2018-09-05 12:25               ` Max Reitz
2018-09-05 19:05         ` John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 05/15] block/mirror: don't install backing chain on abort John Snow
2018-09-05 10:40   ` Max Reitz
2018-09-05 15:39     ` John Snow
2018-09-07 11:40       ` Max Reitz
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 06/15] block/mirror: conservative mirror_exit refactor John Snow
2018-09-05 10:43   ` Max Reitz
2018-09-05 13:09     ` John Snow
2018-09-05 15:50       ` Eric Blake [this message]
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 07/15] block/stream: refactor stream to use job callbacks John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 08/15] tests/blockjob: replace Blockjob with Job John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 09/15] tests/test-blockjob: remove exit callback John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 10/15] tests/test-blockjob-txn: move .exit to .clean John Snow
2018-09-05 10:45   ` Max Reitz
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 11/15] jobs: remove .exit callback John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 12/15] qapi/block-commit: expose new job properties John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 13/15] qapi/block-mirror: " John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 14/15] qapi/block-stream: " John Snow
2018-09-04 17:09 ` [Qemu-devel] [PATCH v4 15/15] block/backup: qapi documentation fixup John Snow

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=cbfcc66b-f8e3-7677-909e-e71024da5c5f@redhat.com \
    --to=eblake@redhat.com \
    --cc=armbru@redhat.com \
    --cc=dgilbert@redhat.com \
    --cc=jcody@redhat.com \
    --cc=jsnow@redhat.com \
    --cc=jtc@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=mreitz@redhat.com \
    --cc=qemu-block@nongnu.org \
    --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 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.