On 02/02/2016 05:57 AM, Daniel P. Berrange wrote:
> 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 <berra...@redhat.com>
> ---
>  qemu-img-cmds.hx |  44 +++++++--------
>  qemu-img.c       | 164 
> +++++++++++++++++++++++++++++++++++++++++++++++--------
>  qemu-img.texi    |   6 ++
>  3 files changed, 170 insertions(+), 44 deletions(-)
> 

> +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");
> +    options = qemu_opts_to_qdict(opts, NULL);
> +    blk = blk_new_open(id, file, NULL, options, flags, &local_err);
> +    if (!blk) {
> +        error_report("Could not open '%s': %s", file ? file : "",
> +                     error_get_pretty(local_err));

Markus' code has landed; this would be cleaner with error_reportf_err()
from commit 8277d2aa.

> @@ -2720,6 +2828,7 @@ static int img_rebase(int argc, char **argv)
>      if (optind != argc - 1) {
>          error_exit("Expecting one image file name");
>      }
> +
>      if (!unsafe && !out_baseimg) {
>          error_exit("Must specify backing file (-b) or use unsafe mode (-u)");
>      }

Spurious hunk?

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to