qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH 01/12] block: qcow2 driver may not be found


From: Markus Armbruster
Subject: Re: [Qemu-devel] [PATCH 01/12] block: qcow2 driver may not be found
Date: Wed, 26 Nov 2014 08:23:13 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Max Reitz <address@hidden> writes:

> Albeit absolutely impossible right now, bdrv_find_format("qcow2") may
> fail. bdrv_append_temp_snapshot() should heed that case.

Impossible because we always compile in bdrv_qcow2.

> Cc: address@hidden
> Signed-off-by: Max Reitz <address@hidden>
> ---
>  block.c | 6 ++++++
>  1 file changed, 6 insertions(+)
>
> diff --git a/block.c b/block.c
> index 866c8b4..b31fb67 100644
> --- a/block.c
> +++ b/block.c
> @@ -1320,6 +1320,12 @@ int bdrv_append_temp_snapshot(BlockDriverState *bs, 
> int flags, Error **errp)
>      }
>  
>      bdrv_qcow2 = bdrv_find_format("qcow2");
> +    if (!bdrv_qcow2) {
> +        error_setg(errp, "Failed to locate qcow2 driver");
> +        ret = -ENOENT;
> +        goto out;
> +    }
> +
>      opts = qemu_opts_create(bdrv_qcow2->create_opts, NULL, 0,
>                              &error_abort);
>      qemu_opt_set_number(opts, BLOCK_OPT_SIZE, total_size);

This dynamic qcow2 driver lookup business is silly.  Compiling without
qcow2 would be a massive loss of functionality, and I wouldn't bet a
nickel on the error paths it would pring to live.

Even sillier lookups: "file" in bdrv_find_protocol(), and "raw" in
find_image_format().

Statically linking to them would be simpler and more honest.

Aside: similar silliness exists around QemuOpts.

Patch looks correct.



reply via email to

[Prev in Thread] Current Thread [Next in Thread]