Commit aef4278c authored by Fam Zheng's avatar Fam Zheng
Browse files

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: default avatarFam Zheng <famz@redhat.com>
Acked-by: default avatarStefan Hajnoczi <stefanha@redhat.com>
Reviewed-by: default avatarKevin Wolf <kwolf@redhat.com>
parent 052a7572
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -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);
    }
}