On 02.11.2015 13:15, Alberto Garcia wrote:
> This addresses scenarios like this one:
> 
>   { 'execute': 'blockdev-add', 'arguments':
>     { 'options': { 'driver': 'qcow2',
>                    'node-name': 'new0',
>                    'file': { 'driver': 'file',
>                              'filename': 'new.qcow2',
>                              'node-name': 'file0' } } } }
> 
>   { 'execute': 'blockdev-snapshot', 'arguments':
>     { 'node': 'virtio0',
>       'overlay': 'file0' } }
> 
> Signed-off-by: Alberto Garcia <[email protected]>
> ---
>  blockdev.c | 5 +++++
>  1 file changed, 5 insertions(+)
> 
> diff --git a/blockdev.c b/blockdev.c
> index a567a05..2774bf5 100644
> --- a/blockdev.c
> +++ b/blockdev.c
> @@ -1667,6 +1667,11 @@ static void 
> external_snapshot_prepare(BlkTransactionState *common,
>  
>      if (state->new_bs->backing != NULL) {
>          error_setg(errp, "The snapshot already has a backing image");
> +        return;

This is...

> +    }
> +
> +    if (!state->new_bs->drv->supports_backing) {
> +        error_setg(errp, "The snapshot does not support backing images");

...why a return statement might be good here, too.

With or without:

Reviewed-by: Max Reitz <[email protected]>

>      }
>  }
>  
> 


Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to