qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Eric Blake <eblake@redhat.com>
To: Markus Armbruster <armbru@redhat.com>, qemu-devel@nongnu.org
Cc: kwolf@redhat.com, jdurgin@redhat.com, jcody@redhat.com,
	qemu-block@nongnu.org, mreitz@redhat.com
Subject: Re: [Qemu-devel] [RFC PATCH] rbd: Don't convert keypairs to JSON and back
Date: Wed, 25 Jul 2018 10:56:48 -0500	[thread overview]
Message-ID: <5e713599-997f-7dda-917c-80902f6ef328@redhat.com> (raw)
In-Reply-To: <20180725151011.25951-1-armbru@redhat.com>

On 07/25/2018 10:10 AM, Markus Armbruster wrote:
> qemu_rbd_parse_filename() builds a keypairs QList, converts it to JSON, and
> stores the resulting QString in a QDict.
> 
> qemu_rbd_co_create_opts() and qemu_rbd_open() get the QString from the
> QDict, pass it to qemu_rbd_set_keypairs(), which converts it back into
> a QList.
> 
> Drop both conversions, store the QList instead.
> 
> This affects output of qemu-img info.  Before this patch:
> 
>      $ qemu-img info rbd:rbd/testimg.raw:mon_host=192.168.15.180:rbd_cache=true:conf=/tmp/ceph.conf
>      [junk printed by Ceph library code...]
>      image: json:{"driver": "raw", "file": {"pool": "rbd", "image": "testimg.raw", "conf": "/tmp/ceph.conf", "driver": "rbd", "=keyvalue-pairs": "[\"mon_host\", \"192.168.15.180\", \"rbd_cache\", \"true\"]"}}
>      [more output, not interesting here]
> 
> After this patch, we get
> 
>      image: json:{"driver": "raw", "file": {"pool": "rbd", "image": "testimg.raw", "conf": "/tmp/ceph.conf", "driver": "rbd", "=keyvalue-pairs": ["mon_host", "192.168.15.180", "rbd_cache", "true"]}}
> 
> The value of member "=keyvalue-pairs" changes from a string containing
> a JSON array to that JSON array.  That's an improvement of sorts.  However:
> 
> * Should "=keyvalue-pairs" even be visible here?  It's supposed to be
>    purely internal...

I'd argue that since it is supposed to be internal (as evidenced by the 
leading '=' that does not name a normal variable), changing it doesn't 
hurt stability. But yes, it would be nicer if we could filter it 
entirely so that it does not appear in json: output, if it doesn't truly 
affect the contents that the guest would see.

> 
> * Is this a stable interface we need to preserve, warts and all?

I hope not.

> 
> Signed-off-by: Markus Armbruster <armbru@redhat.com>
> ---
>   block/rbd.c | 50 ++++++++++++++++++++++----------------------------
>   1 file changed, 22 insertions(+), 28 deletions(-)

I'm not yet convinced if we want this patch for 3.0 without more 
comments from the RBD experts, nor do I see too much of an issue if this 
doesn't go in until 3.1.  But as to the code changes itself, I find them 
nice.

Reviewed-by: Eric Blake <eblake@redhat.com>

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

  parent reply	other threads:[~2018-07-25 15:57 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-07-25 15:10 [Qemu-devel] [RFC PATCH] rbd: Don't convert keypairs to JSON and back Markus Armbruster
2018-07-25 15:44 ` no-reply
2018-07-25 15:56 ` Eric Blake [this message]
2018-07-25 16:01   ` Daniel P. Berrangé
2018-07-28  4:32     ` Jeff Cody
2018-07-29 14:51       ` Max Reitz
2018-08-15  8:12         ` Markus Armbruster
2018-08-15 13:39           ` Jeff Cody
2018-08-16  6:13             ` Markus Armbruster
2018-08-15 23:55           ` Max Reitz
2018-08-16  6:40             ` Markus Armbruster
2018-08-17 20:17               ` Max Reitz
2018-08-20  6:38                 ` Markus Armbruster
2018-08-20 12:24                   ` Max Reitz
2018-07-28  4:23   ` Jeff Cody
2018-07-30  8:20     ` Markus Armbruster
2018-07-25 16:20 ` no-reply

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=5e713599-997f-7dda-917c-80902f6ef328@redhat.com \
    --to=eblake@redhat.com \
    --cc=armbru@redhat.com \
    --cc=jcody@redhat.com \
    --cc=jdurgin@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 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).