From: "Daniel P. Berrange" <berrange@redhat.com>
To: Eric Blake <eblake@redhat.com>
Cc: "Kevin Wolf" <kwolf@redhat.com>,
qemu-block@nongnu.org, qemu-devel@nongnu.org,
"Markus Armbruster" <armbru@redhat.com>,
"Paolo Bonzini" <pbonzini@redhat.com>,
"Andreas Färber" <afaerber@suse.de>
Subject: Re: [Qemu-devel] [PATCH 7/7] qemu-img: allow specifying image as a set of options args
Date: Tue, 22 Dec 2015 18:07:55 +0000 [thread overview]
Message-ID: <20151222180755.GN10082@redhat.com> (raw)
In-Reply-To: <56798D5B.4040800@redhat.com>
On Tue, Dec 22, 2015 at 10:50:19AM -0700, Eric Blake wrote:
> On 12/22/2015 10:42 AM, Daniel P. Berrange wrote:
>
> >> Overall, I'm left wondering whether requiring '--source FOO' vs.
> >> positional 'FOO', and manually enforcing mutual exclusion between the
> >> two, is necessary, or if we could stick with positional. But I guess
> >> the main argument is backwards-compatibility: previously, using
> >> 'driver=file,file=/path/to/file' as a filename would try to look in a
> >> relative directory 'driver=file,file=', whereas your proposal of always
> >> using the new '--source' option would make it obvious that we are
> >> expecting to parse a QemuOpts string rather than defaulting to a literal
> >> file name.
> >>
> >> On the other hand, the existing positional parameters have allowed
> >> 'file:file:with_weird_name' to explicitly specify that we want to use
> >> './file:with_weird_name' as a relative file in the current directory
> >> (that is, the first 'file:' prefix is sufficient to avoid any
> >> back-compat issues with any other possible change in interpretation to a
> >> prefix), so on that grounds, I'd argue that adding --source is not
> >> necessary, and we can just require users to write
> >> 'file:$string_that_might_now_be_QemuOpts' anywhere they used to use
> >> '$string_that_might_now_be_QemuOpts'.
>
> I guess there's also the issue of literal commas.
>
> Right now, we have:
> $ echo hi > a,b
> $ qemu-img info a,b
> image: a,b
> file format: raw
> virtual size: 512 (512 bytes)
> disk size: 4.0K
> $ qemu-img info file:a,b
> image: a,b
> file format: raw
> virtual size: 512 (512 bytes)
> disk size: 4.0K
>
> If we magically change things to interpret the positionals as QemuOpts
> strings, we'd have a change that:
>
> $ qemu-img info a,b
> $ qemu-img info file:a,b
>
> would error out ('a' and 'file:a' are not a known options, and we are
> expecting =), but at the same time:
>
> $ qemu-img info a,,b
> $ qemu-img info file:a,,b
>
> would start working (because the use of ',,' is the QemuOpts way to
> escape a literal ',' that is not separating options packed into the
> single argument).
A third option would be to keep using positional arguments, but
add a '--source-opts' *boolean* flag to indicate how to interpret
the positional arguments. ie without --source-opts we use the
historic syntax, but with --source-opts, we assume the full QemuOpts
syntax.
Regards,
Daniel
--
|: http://berrange.com -o- http://www.flickr.com/photos/dberrange/ :|
|: http://libvirt.org -o- http://virt-manager.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: http://entangle-photo.org -o- http://live.gnome.org/gtk-vnc :|
next prev parent reply other threads:[~2015-12-22 18:08 UTC|newest]
Thread overview: 29+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-12-22 11:06 [Qemu-devel] [PATCH 0/7] Make qemu-img/qemu-nbd/qemu-io CLI more flexible Daniel P. Berrange
2015-12-22 11:06 ` [Qemu-devel] [PATCH 1/7] qom: add user_creatable_add & user_creatable_del methods Daniel P. Berrange
2015-12-22 16:01 ` Eric Blake
2015-12-22 11:06 ` [Qemu-devel] [PATCH 2/7] qemu-img: add support for --object command line arg Daniel P. Berrange
2015-12-22 16:24 ` Eric Blake
2015-12-22 17:21 ` Daniel P. Berrange
2015-12-22 11:06 ` [Qemu-devel] [PATCH 3/7] qemu-nbd: " Daniel P. Berrange
2015-12-22 16:49 ` Eric Blake
2015-12-22 11:06 ` [Qemu-devel] [PATCH 4/7] qemu-io: " Daniel P. Berrange
2015-12-22 16:55 ` Eric Blake
2015-12-22 17:24 ` Daniel P. Berrange
2015-12-23 18:02 ` Paolo Bonzini
2015-12-23 19:25 ` Daniel P. Berrange
2015-12-22 11:06 ` [Qemu-devel] [PATCH 5/7] qemu-io: allow specifying image as a set of options args Daniel P. Berrange
2015-12-22 17:06 ` Eric Blake
2015-12-22 17:13 ` Daniel P. Berrange
2015-12-22 11:06 ` [Qemu-devel] [PATCH 6/7] qemu-nbd: " Daniel P. Berrange
2015-12-22 17:10 ` Eric Blake
2015-12-22 11:06 ` [Qemu-devel] [PATCH 7/7] qemu-img: " Daniel P. Berrange
2015-12-22 17:33 ` Eric Blake
2015-12-22 17:42 ` Daniel P. Berrange
2015-12-22 17:50 ` Eric Blake
2015-12-22 18:07 ` Daniel P. Berrange [this message]
2015-12-22 18:10 ` Eric Blake
2015-12-23 16:55 ` Daniel P. Berrange
2015-12-23 18:03 ` Paolo Bonzini
2015-12-23 19:23 ` Daniel P. Berrange
2015-12-23 20:20 ` Paolo Bonzini
2015-12-24 10:04 ` Daniel P. Berrange
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=20151222180755.GN10082@redhat.com \
--to=berrange@redhat.com \
--cc=afaerber@suse.de \
--cc=armbru@redhat.com \
--cc=eblake@redhat.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@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.