[PULL,05/15] blockjob: Fix coroutine thread after AioContext change
diff mbox series

Message ID 20190510161614.23236-6-kwolf@redhat.com
State New
Headers show
  • [PULL,01/15] block: remove bs from lists before closing
Related show

Commit Message

Kevin Wolf May 10, 2019, 4:16 p.m. UTC
Commit 463e0be10 ('blockjob: add AioContext attached callback') tried to
make block jobs robust against AioContext changes of their main node,
but it never made sure that the job coroutine actually runs in the new

Instead of waking up the job coroutine in whatever thread it ran before,
let's always pass the AioContext where it should be running now.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
 job.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff mbox series

diff --git a/job.c b/job.c
index da8e4b7bf2..2167d53717 100644
--- a/job.c
+++ b/job.c
@@ -432,7 +432,7 @@  void job_enter_cond(Job *job, bool(*fn)(Job *job))
     job->busy = true;
-    aio_co_wake(job->co);
+    aio_co_enter(job->aio_context, job->co);
 void job_enter(Job *job)