diff options
| author | Kevin Wolf | 2017-03-06 16:12:44 +0100 |
|---|---|---|
| committer | Kevin Wolf | 2017-03-07 14:53:28 +0100 |
| commit | 88f9d1b3d2fa8df276b2f75dcbd7fb78ed08be20 (patch) | |
| tree | a0515934b43057228edfb2a5ef09b9d3859f235a | |
| parent | mirror: Fix permissions for removing mirror_top_bs (diff) | |
| download | qemu-88f9d1b3d2fa8df276b2f75dcbd7fb78ed08be20.tar.gz qemu-88f9d1b3d2fa8df276b2f75dcbd7fb78ed08be20.tar.xz qemu-88f9d1b3d2fa8df276b2f75dcbd7fb78ed08be20.zip | |
mirror: Fix error path for dirty bitmap creation
mirror_top_bs must be removed from the graph again when creating the
dirty bitmap fails.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Fam Zheng <famz@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
| -rw-r--r-- | block/mirror.c | 5 |
1 files changed, 1 insertions, 4 deletions
diff --git a/block/mirror.c b/block/mirror.c index 001b5f0a15..f24dc51385 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -1197,10 +1197,7 @@ static void mirror_start_job(const char *job_id, BlockDriverState *bs, s->dirty_bitmap = bdrv_create_dirty_bitmap(bs, granularity, NULL, errp); if (!s->dirty_bitmap) { - g_free(s->replaces); - blk_unref(s->target); - block_job_unref(&s->common); - return; + goto fail; } /* Required permissions are already taken with blk_new() */ |
