diff mbox series

[09/21] tests/test-blockjob: utilize job_exit shim

Message ID 20180807043349.27196-10-jsnow@redhat.com
State New
Headers show
Series jobs: defer graph changes until finalize | expand

Commit Message

John Snow Aug. 7, 2018, 4:33 a.m. UTC
Change the manual deferment to test_block_job_complete into the implicit
callback to job_exit.

Signed-off-by: John Snow <jsnow@redhat.com>
---
 tests/test-blockjob.c | 11 ++++-------
 1 file changed, 4 insertions(+), 7 deletions(-)
diff mbox series

Patch

diff --git a/tests/test-blockjob.c b/tests/test-blockjob.c
index e408d52351..20563bde4f 100644
--- a/tests/test-blockjob.c
+++ b/tests/test-blockjob.c
@@ -163,11 +163,10 @@  typedef struct CancelJob {
     bool completed;
 } CancelJob;
 
-static void cancel_job_completed(Job *job, void *opaque)
+static void cancel_job_exit(Job *job)
 {
-    CancelJob *s = opaque;
+    CancelJob *s = container_of(job, CancelJob, common.job);
     s->completed = true;
-    job_completed(job, 0);
 }
 
 static void cancel_job_complete(Job *job, Error **errp)
@@ -182,7 +181,7 @@  static void coroutine_fn cancel_job_start(void *opaque)
 
     while (!s->should_complete) {
         if (job_is_cancelled(&s->common.job)) {
-            goto defer;
+            return;
         }
 
         if (!job_is_ready(&s->common.job) && s->should_converge) {
@@ -191,9 +190,6 @@  static void coroutine_fn cancel_job_start(void *opaque)
 
         job_sleep_ns(&s->common.job, 100000);
     }
-
- defer:
-    job_defer_to_main_loop(&s->common.job, cancel_job_completed, s);
 }
 
 static const BlockJobDriver test_cancel_driver = {
@@ -203,6 +199,7 @@  static const BlockJobDriver test_cancel_driver = {
         .user_resume   = block_job_user_resume,
         .drain         = block_job_drain,
         .start         = cancel_job_start,
+        .exit          = cancel_job_exit,
         .complete      = cancel_job_complete,
     },
 };