diff options
| author | Ting Wang | 2015-06-26 11:37:35 +0200 |
|---|---|---|
| committer | Stefan Hajnoczi | 2015-07-07 15:27:14 +0200 |
| commit | 970311646a701eecb103eb28093e8924d2fa6861 (patch) | |
| tree | b29db635f79eb8297b1fa35a9d60c3eb523e326b /block | |
| parent | block/raw-posix: Don't think /dev/fd/<NN> is a floppy drive. (diff) | |
| download | qemu-970311646a701eecb103eb28093e8924d2fa6861.tar.gz qemu-970311646a701eecb103eb28093e8924d2fa6861.tar.xz qemu-970311646a701eecb103eb28093e8924d2fa6861.zip | |
blockjob: add block_job_release function
There is job resource leak in function mirror_start_job,
although bdrv_create_dirty_bitmap is unlikely failed.
Add block_job_release for each release when needed.
Signed-off-by: Ting Wang <kathy.wangting@huawei.com>
Reviewed-by: John Snow <jsnow@redhat.com>
Message-id: 1435311455-56048-1-git-send-email-kathy.wangting@huawei.com
Signed-off-by: Stefan Hajnoczi <stefanha@redhat.com>
Diffstat (limited to 'block')
| -rw-r--r-- | block/mirror.c | 2 |
1 files changed, 2 insertions, 0 deletions
diff --git a/block/mirror.c b/block/mirror.c index 8888cea952..d409337c4a 100644 --- a/block/mirror.c +++ b/block/mirror.c @@ -708,6 +708,8 @@ static void mirror_start_job(BlockDriverState *bs, BlockDriverState *target, s->dirty_bitmap = bdrv_create_dirty_bitmap(bs, granularity, NULL, errp); if (!s->dirty_bitmap) { + g_free(s->replaces); + block_job_release(bs); return; } bdrv_set_enable_write_cache(s->target, true); |
