aboutsummaryrefslogtreecommitdiff
path: root/block/stream.c
diff options
context:
space:
mode:
authorMax Reitz <mreitz@redhat.com>2019-07-03 19:28:04 +0200
committerMax Reitz <mreitz@redhat.com>2019-07-15 15:48:40 +0200
commit8441d82d51e25c6a7d1ca92cecc42168f20af72a (patch)
treede6b24f8f2d93df7482ae6cf1c081af65f387279 /block/stream.c
parent17a7c39248fc629469d6f66c6122db841b736bc7 (diff)
block/stream: Swap backing file change order
bdrv_change_backing_file() can result in yields. Therefore, @base may no longer be the the backing_bs() of s->bottom afterwards. Just swap the order of the two calls to fix this. Signed-off-by: Max Reitz <mreitz@redhat.com> Message-id: 20190703172813.6868-4-mreitz@redhat.com Signed-off-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block/stream.c')
-rw-r--r--block/stream.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/block/stream.c b/block/stream.c
index b27e61625d..6ac1e7bec4 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -78,8 +78,8 @@ static int stream_prepare(Job *job)
base_fmt = base->drv->format_name;
}
}
- ret = bdrv_change_backing_file(bs, base_id, base_fmt);
bdrv_set_backing_hd(bs, base, &local_err);
+ ret = bdrv_change_backing_file(bs, base_id, base_fmt);
if (local_err) {
error_report_err(local_err);
return -EPERM;