From: Fam Zheng Date: Mon, 10 Apr 2017 12:12:05 +0000 (+0800) Subject: blockjob: Use bdrv_coroutine_enter to start coroutine X-Git-Url: http://git.maquefel.me/?a=commitdiff_plain;h=aef4278c5a835c555ffe065f9e480190fd076675;p=qemu.git blockjob: Use bdrv_coroutine_enter to start coroutine Resuming and especially starting of the block job coroutine, could be issued in the main thread. However the coroutine's "home" ctx should be set to the same context as job->blk. Use bdrv_coroutine_enter to ensure that. Signed-off-by: Fam Zheng Acked-by: Stefan Hajnoczi Reviewed-by: Kevin Wolf --- diff --git a/blockjob.c b/blockjob.c index 9b619f385a..6e489327ff 100644 --- a/blockjob.c +++ b/blockjob.c @@ -290,7 +290,7 @@ void block_job_start(BlockJob *job) job->pause_count--; job->busy = true; job->paused = false; - qemu_coroutine_enter(job->co); + bdrv_coroutine_enter(blk_bs(job->blk), job->co); } void block_job_ref(BlockJob *job) @@ -532,7 +532,7 @@ void block_job_user_resume(BlockJob *job) void block_job_enter(BlockJob *job) { if (job->co && !job->busy) { - qemu_coroutine_enter(job->co); + bdrv_coroutine_enter(blk_bs(job->blk), job->co); } }