[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v5 07/10] qemu-img: allow specifying image as a
From: |
Daniel P. Berrange |
Subject: |
Re: [Qemu-devel] [PATCH v5 07/10] qemu-img: allow specifying image as a set of options args |
Date: |
Thu, 4 Feb 2016 15:47:30 +0000 |
User-agent: |
Mutt/1.5.24 (2015-08-30) |
On Thu, Feb 04, 2016 at 04:42:06PM +0100, Kevin Wolf wrote:
> Am 02.02.2016 um 13:57 hat Daniel P. Berrange geschrieben:
> > Currently qemu-img allows an image filename to be passed on the
> > command line, but unless using the JSON format, it does not have
> > a way to set any options except the format eg
> >
> > qemu-img info https://127.0.0.1/images/centos7.iso
> >
> > This adds a --image-opts arg that indicates that the positional
> > filename should be interpreted as a full option string, not
> > just a filename.
> >
> > qemu-img info --image-opts
> > driver=https,url=https://127.0.0.1/images,sslverify=off
> >
> > This flag is mutually exclusive with the '-f' / '-F' flags.
> >
> > Signed-off-by: Daniel P. Berrange <address@hidden>
>
> > @@ -212,9 +222,31 @@ static int print_block_option_help(const char
> > *filename, const char *fmt)
> > return 0;
> > }
> >
> > -static BlockBackend *img_open(const char *id, const char *filename,
> > - const char *fmt, int flags,
> > - bool require_io, bool quiet)
> > +static BlockBackend *img_open_opts(const char *id,
> > + QemuOpts *opts, int flags)
> > +{
> > + QDict *options;
> > + Error *local_err = NULL;
> > + char *file = NULL;
> > + BlockBackend *blk;
> > + file = g_strdup(qemu_opt_get(opts, "file"));
> > + qemu_opt_unset(opts, "file");
>
> Didn't we decide that we don't want to special-case "file"?
Yes, sorry I screwed this up when I refactored it.
> > +static BlockBackend *img_open(const char *id,
> > + bool image_opts,
> > + const char *filename,
> > + const char *fmt, int flags,
> > + bool require_io, bool quiet)
> > +{
> > + BlockBackend *blk;
> > + if (image_opts) {
> > + QemuOpts *opts;
> > + if (fmt) {
> > + error_report("--image-opts and --format are mutually
> > exclusive");
> > + return NULL;
> > + }
> > + opts = qemu_opts_parse_noisily(qemu_find_opts("source"),
> > + filename, true);
> > + if (!opts) {
> > + return NULL;
> > + }
> > + blk = img_open_opts("image", opts, flags);
> > + } else {
> > + blk = img_open_file("image", filename, fmt, flags, true, quiet);
> > + }
> > + return blk;
> > +}
>
> I think id should be passed on instead of being replaced by "image".
ok
> > @@ -1956,7 +2034,13 @@ static int img_convert(int argc, char **argv)
> > goto out;
> > }
> >
> > - out_blk = img_open("target", out_filename, out_fmt, flags, true,
> > quiet);
> > + /* XXX we should allow --image-opts to trigger use of
> > + * img_open() here, but then we have trouble with
> > + * the bdrv_create() call which takes different params.
> > + * Not critical right now, so fix can wait...
> > + */
> > + out_blk = img_open_file("target", out_filename,
> > + out_fmt, flags, true, quiet);
>
> So is the plan to add another option (like --target-image-opts) when
> this call is converted?
Well I was hoping --image-opts would affect both source and target,
but i guess if we ship it only affecting source, we can't extend
it to also affect target without back compat issues, so that might
force adding a --target-image-opts
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 :|
- [Qemu-devel] [PATCH v5 02/10] qemu-img: add support for --object command line arg, (continued)
- [Qemu-devel] [PATCH v5 02/10] qemu-img: add support for --object command line arg, Daniel P. Berrange, 2016/02/02
- [Qemu-devel] [PATCH v5 06/10] qemu-nbd: allow specifying image as a set of options args, Daniel P. Berrange, 2016/02/02
- [Qemu-devel] [PATCH v5 10/10] qemu-io: use no_argument/required_argument constants, Daniel P. Berrange, 2016/02/02
- [Qemu-devel] [PATCH v5 03/10] qemu-nbd: add support for --object command line arg, Daniel P. Berrange, 2016/02/02
- [Qemu-devel] [PATCH v5 07/10] qemu-img: allow specifying image as a set of options args, Daniel P. Berrange, 2016/02/02
Re: [Qemu-devel] [PATCH v5 07/10] qemu-img: allow specifying image as a set of options args, Eric Blake, 2016/02/04
[Qemu-devel] [PATCH v5 04/10] qemu-io: add support for --object command line arg, Daniel P. Berrange, 2016/02/02
[Qemu-devel] [PATCH v5 09/10] qemu-nbd: use no_argument/required_argument constants, Daniel P. Berrange, 2016/02/02
[Qemu-devel] [PATCH v5 08/10] qemu-nbd: don't overlap long option values with short options, Daniel P. Berrange, 2016/02/02
Re: [Qemu-devel] [PATCH v5 00/10] Make qemu-img/qemu-nbd/qemu-io CLI more flexible, Kevin Wolf, 2016/02/04