Am 05.07.2011 06:41, schrieb Devin Nakamura:
> Signed-off-by: Devin Nakamura <devin...@gmail.com>
> ---
>  block.c |   19 +++++++++++++++++++
>  block.h |    2 ++
>  2 files changed, 21 insertions(+), 0 deletions(-)
> 
> diff --git a/block.c b/block.c
> index 24a25d5..e7699a6 100644
> --- a/block.c
> +++ b/block.c
> @@ -3018,3 +3018,22 @@ out:
>  
>      return ret;
>  }
> +
> +
> +int bdrv_open_conversion_target(BlockDriverState **bs,
> +        char *filename, char *target_fmt, QEMUOptionParameter *options)
> +{
> +    BlockDriver *drv;
> +
> +    drv = bdrv_find_format(target_fmt);
> +    if(!drv){

I'll comment on it here, but you need to fix the coding style in the
whole series. You may want to try scripts/checkpatch.pl.

> +        return -ENOENT;
> +    }
> +
> +    if(!drv->bdrv_open_conversion_target){
> +        return -ENOTSUP;
> +    }
> +    *bs = bdrv_new("");
> +    (*bs)->opaque = qemu_malloc(drv->instance_size);
> +    return drv->bdrv_open_conversion_target(*bs, filename, options);

Is this actually enough? The normal bdrv_open() sets much more fields of
the BlockDriverState, and I would expect that the block drivers rely on
at least some of them.

Kevin

Reply via email to