|
|
26ba25 |
From 811f1e5213c0d9cc05ecfe033f6409f261355d56 Mon Sep 17 00:00:00 2001
|
|
|
26ba25 |
From: John Snow <jsnow@redhat.com>
|
|
|
26ba25 |
Date: Tue, 25 Sep 2018 22:34:24 +0100
|
|
|
26ba25 |
Subject: [PATCH 21/28] tests/test-blockjob: remove exit callback
|
|
|
26ba25 |
|
|
|
26ba25 |
RH-Author: John Snow <jsnow@redhat.com>
|
|
|
26ba25 |
Message-id: <20180925223431.24791-19-jsnow@redhat.com>
|
|
|
26ba25 |
Patchwork-id: 82276
|
|
|
26ba25 |
O-Subject: [RHEL8/rhel qemu-kvm PATCH 18/25] tests/test-blockjob: remove exit callback
|
|
|
26ba25 |
Bugzilla: 1632939
|
|
|
26ba25 |
RH-Acked-by: Jeffrey Cody <jcody@redhat.com>
|
|
|
26ba25 |
RH-Acked-by: Max Reitz <mreitz@redhat.com>
|
|
|
26ba25 |
RH-Acked-by: Kevin Wolf <kwolf@redhat.com>
|
|
|
26ba25 |
|
|
|
26ba25 |
We remove the exit callback and the completed boolean along with it.
|
|
|
26ba25 |
We can simulate it just fine by waiting for the job to defer to the
|
|
|
26ba25 |
main loop, and then giving it one final kick to get the main loop
|
|
|
26ba25 |
portion to run.
|
|
|
26ba25 |
|
|
|
26ba25 |
Signed-off-by: John Snow <jsnow@redhat.com>
|
|
|
26ba25 |
Reviewed-by: Max Reitz <mreitz@redhat.com>
|
|
|
26ba25 |
Message-id: 20180906130225.5118-10-jsnow@redhat.com
|
|
|
26ba25 |
Reviewed-by: Jeff Cody <jcody@redhat.com>
|
|
|
26ba25 |
Signed-off-by: Max Reitz <mreitz@redhat.com>
|
|
|
26ba25 |
(cherry picked from commit 977d26fdbeb35d8d2d0f203f9556d44a353e0dfd)
|
|
|
26ba25 |
Signed-off-by: John Snow <jsnow@redhat.com>
|
|
|
26ba25 |
Signed-off-by: Danilo C. L. de Paula <ddepaula@redhat.com>
|
|
|
26ba25 |
---
|
|
|
26ba25 |
tests/test-blockjob.c | 16 ++++++----------
|
|
|
26ba25 |
1 file changed, 6 insertions(+), 10 deletions(-)
|
|
|
26ba25 |
|
|
|
26ba25 |
diff --git a/tests/test-blockjob.c b/tests/test-blockjob.c
|
|
|
26ba25 |
index 8e8b680..de4c1c2 100644
|
|
|
26ba25 |
--- a/tests/test-blockjob.c
|
|
|
26ba25 |
+++ b/tests/test-blockjob.c
|
|
|
26ba25 |
@@ -160,15 +160,8 @@ typedef struct CancelJob {
|
|
|
26ba25 |
BlockBackend *blk;
|
|
|
26ba25 |
bool should_converge;
|
|
|
26ba25 |
bool should_complete;
|
|
|
26ba25 |
- bool completed;
|
|
|
26ba25 |
} CancelJob;
|
|
|
26ba25 |
|
|
|
26ba25 |
-static void cancel_job_exit(Job *job)
|
|
|
26ba25 |
-{
|
|
|
26ba25 |
- CancelJob *s = container_of(job, CancelJob, common.job);
|
|
|
26ba25 |
- s->completed = true;
|
|
|
26ba25 |
-}
|
|
|
26ba25 |
-
|
|
|
26ba25 |
static void cancel_job_complete(Job *job, Error **errp)
|
|
|
26ba25 |
{
|
|
|
26ba25 |
CancelJob *s = container_of(job, CancelJob, common.job);
|
|
|
26ba25 |
@@ -201,7 +194,6 @@ static const BlockJobDriver test_cancel_driver = {
|
|
|
26ba25 |
.user_resume = block_job_user_resume,
|
|
|
26ba25 |
.drain = block_job_drain,
|
|
|
26ba25 |
.run = cancel_job_run,
|
|
|
26ba25 |
- .exit = cancel_job_exit,
|
|
|
26ba25 |
.complete = cancel_job_complete,
|
|
|
26ba25 |
},
|
|
|
26ba25 |
};
|
|
|
26ba25 |
@@ -335,9 +327,11 @@ static void test_cancel_pending(void)
|
|
|
26ba25 |
|
|
|
26ba25 |
job_complete(job, &error_abort);
|
|
|
26ba25 |
job_enter(job);
|
|
|
26ba25 |
- while (!s->completed) {
|
|
|
26ba25 |
+ while (!job->deferred_to_main_loop) {
|
|
|
26ba25 |
aio_poll(qemu_get_aio_context(), true);
|
|
|
26ba25 |
}
|
|
|
26ba25 |
+ assert(job->status == JOB_STATUS_READY);
|
|
|
26ba25 |
+ aio_poll(qemu_get_aio_context(), true);
|
|
|
26ba25 |
assert(job->status == JOB_STATUS_PENDING);
|
|
|
26ba25 |
|
|
|
26ba25 |
cancel_common(s);
|
|
|
26ba25 |
@@ -359,9 +353,11 @@ static void test_cancel_concluded(void)
|
|
|
26ba25 |
|
|
|
26ba25 |
job_complete(job, &error_abort);
|
|
|
26ba25 |
job_enter(job);
|
|
|
26ba25 |
- while (!s->completed) {
|
|
|
26ba25 |
+ while (!job->deferred_to_main_loop) {
|
|
|
26ba25 |
aio_poll(qemu_get_aio_context(), true);
|
|
|
26ba25 |
}
|
|
|
26ba25 |
+ assert(job->status == JOB_STATUS_READY);
|
|
|
26ba25 |
+ aio_poll(qemu_get_aio_context(), true);
|
|
|
26ba25 |
assert(job->status == JOB_STATUS_PENDING);
|
|
|
26ba25 |
|
|
|
26ba25 |
job_finalize(job, &error_abort);
|
|
|
26ba25 |
--
|
|
|
26ba25 |
1.8.3.1
|
|
|
26ba25 |
|