block/commit: use QEMU_AUTO_VFREE

Signed-off-by: Vladimir Sementsov-Ogievskiy <vsementsov@virtuozzo.com>
Message-Id: <20210628121133.193984-3-vsementsov@virtuozzo.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Vladimir Sementsov-Ogievskiy 2021-06-28 15:11:33 +03:00 committed by Kevin Wolf
parent 4d324c0bf6
commit 7170170866

View File

@ -119,24 +119,24 @@ static int coroutine_fn commit_run(Job *job, Error **errp)
uint64_t delay_ns = 0; uint64_t delay_ns = 0;
int ret = 0; int ret = 0;
int64_t n = 0; /* bytes */ int64_t n = 0; /* bytes */
void *buf = NULL; QEMU_AUTO_VFREE void *buf = NULL;
int64_t len, base_len; int64_t len, base_len;
ret = len = blk_getlength(s->top); len = blk_getlength(s->top);
if (len < 0) { if (len < 0) {
goto out; return len;
} }
job_progress_set_remaining(&s->common.job, len); job_progress_set_remaining(&s->common.job, len);
ret = base_len = blk_getlength(s->base); base_len = blk_getlength(s->base);
if (base_len < 0) { if (base_len < 0) {
goto out; return base_len;
} }
if (base_len < len) { if (base_len < len) {
ret = blk_truncate(s->base, len, false, PREALLOC_MODE_OFF, 0, NULL); ret = blk_truncate(s->base, len, false, PREALLOC_MODE_OFF, 0, NULL);
if (ret) { if (ret) {
goto out; return ret;
} }
} }
@ -174,7 +174,7 @@ static int coroutine_fn commit_run(Job *job, Error **errp)
block_job_error_action(&s->common, s->on_error, block_job_error_action(&s->common, s->on_error,
error_in_source, -ret); error_in_source, -ret);
if (action == BLOCK_ERROR_ACTION_REPORT) { if (action == BLOCK_ERROR_ACTION_REPORT) {
goto out; return ret;
} else { } else {
n = 0; n = 0;
continue; continue;
@ -190,12 +190,7 @@ static int coroutine_fn commit_run(Job *job, Error **errp)
} }
} }
ret = 0; return 0;
out:
qemu_vfree(buf);
return ret;
} }
static const BlockJobDriver commit_job_driver = { static const BlockJobDriver commit_job_driver = {
@ -435,7 +430,7 @@ int bdrv_commit(BlockDriverState *bs)
int ro; int ro;
int64_t n; int64_t n;
int ret = 0; int ret = 0;
uint8_t *buf = NULL; QEMU_AUTO_VFREE uint8_t *buf = NULL;
Error *local_err = NULL; Error *local_err = NULL;
if (!drv) if (!drv)
@ -556,8 +551,6 @@ int bdrv_commit(BlockDriverState *bs)
ret = 0; ret = 0;
ro_cleanup: ro_cleanup:
qemu_vfree(buf);
blk_unref(backing); blk_unref(backing);
if (bdrv_cow_bs(bs) != backing_file_bs) { if (bdrv_cow_bs(bs) != backing_file_bs) {
bdrv_set_backing_hd(bs, backing_file_bs, &error_abort); bdrv_set_backing_hd(bs, backing_file_bs, &error_abort);