Am 03.03.2017 um 14:38 hat Fam Zheng geschrieben:
> bdrv_set_backing_hd failure needn't be abort. Since we already have
> error parameter, use it.
> 
> Signed-off-by: Fam Zheng <f...@redhat.com>
> ---
>  block/commit.c | 12 ++++++++++--
>  1 file changed, 10 insertions(+), 2 deletions(-)
> 
> diff --git a/block/commit.c b/block/commit.c
> index 22a0a4d..1be19e1 100644
> --- a/block/commit.c
> +++ b/block/commit.c
> @@ -316,8 +316,16 @@ void commit_start(const char *job_id, BlockDriverState 
> *bs,
>          goto fail;
>      }
>  
> -    bdrv_set_backing_hd(commit_top_bs, top, &error_abort);
> -    bdrv_set_backing_hd(overlay_bs, commit_top_bs, &error_abort);
> +    bdrv_set_backing_hd(commit_top_bs, top, &local_err);
> +    if (local_err) {
> +        error_propagate(errp, local_err);
> +        goto fail;
> +    }
> +    bdrv_set_backing_hd(overlay_bs, commit_top_bs, &local_err);
> +    if (local_err) {
> +        error_propagate(errp, local_err);
> +        goto fail;
> +    }

In these error paths, bdrv_unref(commit_top_bs) seems to missing.

Kevin

Reply via email to