From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:41012) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1aBp0O-0001Sc-Lj for qemu-devel@nongnu.org; Wed, 23 Dec 2015 14:23:25 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1aBp0N-0003D1-NX for qemu-devel@nongnu.org; Wed, 23 Dec 2015 14:23:24 -0500 Date: Wed, 23 Dec 2015 19:23:13 +0000 From: "Daniel P. Berrange" Message-ID: <20151223192313.GT20028@redhat.com> References: <1450782389-17326-1-git-send-email-berrange@redhat.com> <1450782389-17326-8-git-send-email-berrange@redhat.com> <5679897C.7060003@redhat.com> <20151222174159.GM10082@redhat.com> <56798D5B.4040800@redhat.com> <20151222180755.GN10082@redhat.com> <56799213.6090506@redhat.com> <20151223165553.GR20028@redhat.com> <567AE1F6.4090107@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline In-Reply-To: <567AE1F6.4090107@redhat.com> Subject: Re: [Qemu-devel] [PATCH 7/7] qemu-img: allow specifying image as a set of options args Reply-To: "Daniel P. Berrange" List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: Kevin Wolf , qemu-block@nongnu.org, qemu-devel@nongnu.org, Markus Armbruster , Andreas =?utf-8?Q?F=C3=A4rber?= On Wed, Dec 23, 2015 at 07:03:34PM +0100, Paolo Bonzini wrote: > > > On 23/12/2015 17:55, Daniel P. Berrange wrote: > >>> > > 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. > >> > > >> > Oh, nice compromise. It's relatively discoverable (grep --help output), > >> > preserves back-compat of old scripts, and offers the full power for > >> > clients that want the full power. > > I've implemented this now and it makes the patches soooo much simpler > > too, so an added win. > > Hmm, looks like I'm a bit late, but here's another possibility: making > --source-options (aka -o) take an argument, and if you specify both > --source-options and the positional argument, the latter is added as a > "file" key. > > This way you can do "qemu-img info --object secret... -o secret=foo > iscsi://foo/". This gets somewhat messy for the commands which needs to accept more than one filename, eg 'compare' (2 files) and 'convert' (any number of files)'. eg if you have 3 positional file names and want to set an option on the 2nd file, '-o foo=bar' is not really going to say which positional file it applies to. The style I just implemented with the boolean '--image-opts' flag avoids this messiness nicely. 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 :|