commit: Set commit_top_bs->aio_context
authorKevin Wolf <kwolf@redhat.com>
Thu, 6 Apr 2017 17:05:07 +0000 (19:05 +0200)
committerKevin Wolf <kwolf@redhat.com>
Fri, 7 Apr 2017 12:44:05 +0000 (14:44 +0200)
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>
block/commit.c

index 28324820a40cdfbef45a6c3df6b295feacbb289c..4c3822080eb5ced214773130b2f076e5c84c47d3 100644 (file)
@@ -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);