aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2017-04-06 19:05:07 +0200
committerKevin Wolf <kwolf@redhat.com>2017-04-07 14:44:05 +0200
commit02be4aeb9343d9a4993b1de6cebe6280e82d7254 (patch)
tree27212e39f58eb6458ce1903801cf8f8bceb93417
parentd35ff5e6b3aa3a706b0aa3bcf11400fac945b67a (diff)
commit: Set commit_top_bs->aio_context
The filter driver that is inserted by the commit job needs to use the same AioContext as its parent and child nodes. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Eric Blake <eblake@redhat.com> Reviewed-by: Fam Zheng <famz@redhat.com>
-rw-r--r--block/commit.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/block/commit.c b/block/commit.c
index 28324820a4..4c3822080e 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -335,6 +335,7 @@ void commit_start(const char *job_id, BlockDriverState *bs,
if (commit_top_bs == NULL) {
goto fail;
}
+ bdrv_set_aio_context(commit_top_bs, bdrv_get_aio_context(top));
bdrv_set_backing_hd(commit_top_bs, top, &local_err);
if (local_err) {
@@ -482,6 +483,7 @@ int bdrv_commit(BlockDriverState *bs)
error_report_err(local_err);
goto ro_cleanup;
}
+ bdrv_set_aio_context(commit_top_bs, bdrv_get_aio_context(backing_file_bs));
bdrv_set_backing_hd(commit_top_bs, backing_file_bs, &error_abort);
bdrv_set_backing_hd(bs, commit_top_bs, &error_abort);