aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--block/stream.c13
1 files changed, 4 insertions, 9 deletions
diff --git a/block/stream.c b/block/stream.c
index 97fddb2608..65b13b27e0 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -120,13 +120,12 @@ static int coroutine_fn stream_run(Job *job, Error **errp)
void *buf;
if (!bs->backing) {
- goto out;
+ return 0;
}
len = bdrv_getlength(bs);
if (len < 0) {
- ret = len;
- goto out;
+ return len;
}
job_progress_set_remaining(&s->common.job, len);
@@ -203,14 +202,10 @@ static int coroutine_fn stream_run(Job *job, Error **errp)
bdrv_disable_copy_on_read(bs);
}
- /* Do not remove the backing file if an error was there but ignored. */
- ret = error;
-
qemu_vfree(buf);
-out:
- /* Modify backing chain and close BDSes in main loop */
- return ret;
+ /* Do not remove the backing file if an error was there but ignored. */
+ return error;
}
static const BlockJobDriver stream_job_driver = {