[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 6/6] tests/block-job-txn: Don't start block job b
From: |
Fam Zheng |
Subject: |
[Qemu-devel] [PATCH v2 6/6] tests/block-job-txn: Don't start block job before adding to txn |
Date: |
Fri, 7 Apr 2017 14:54:14 +0800 |
Previously, before test_block_job_start returns, the job can already
complete, as a result, the transactional state of other jobs added to
the same txn later cannot be handled correctly.
Move the block_job_start() calls to callers after
block_job_txn_add_job() calls.
Signed-off-by: Fam Zheng <address@hidden>
---
tests/test-blockjob-txn.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
diff --git a/tests/test-blockjob-txn.c b/tests/test-blockjob-txn.c
index 4ccbda1..0f80194 100644
--- a/tests/test-blockjob-txn.c
+++ b/tests/test-blockjob-txn.c
@@ -110,7 +110,6 @@ static BlockJob *test_block_job_start(unsigned int
iterations,
s->result = result;
data->job = s;
data->result = result;
- block_job_start(&s->common);
return &s->common;
}
@@ -123,6 +122,7 @@ static void test_single_job(int expected)
txn = block_job_txn_new();
job = test_block_job_start(1, true, expected, &result);
block_job_txn_add_job(txn, job);
+ block_job_start(job);
if (expected == -ECANCELED) {
block_job_cancel(job);
@@ -164,6 +164,8 @@ static void test_pair_jobs(int expected1, int expected2)
block_job_txn_add_job(txn, job1);
job2 = test_block_job_start(2, true, expected2, &result2);
block_job_txn_add_job(txn, job2);
+ block_job_start(job1);
+ block_job_start(job2);
if (expected1 == -ECANCELED) {
block_job_cancel(job1);
@@ -223,6 +225,8 @@ static void test_pair_jobs_fail_cancel_race(void)
block_job_txn_add_job(txn, job1);
job2 = test_block_job_start(2, false, 0, &result2);
block_job_txn_add_job(txn, job2);
+ block_job_start(job1);
+ block_job_start(job2);
block_job_cancel(job1);
--
2.9.3
- Re: [Qemu-devel] [PATCH v2 4/6] block: Quiesce old aio context during bdrv_set_aio_context, (continued)
[Qemu-devel] [PATCH v2 5/6] coroutine: Explicitly specify AioContext when entering coroutine, Fam Zheng, 2017/04/07
[Qemu-devel] [PATCH v2 6/6] tests/block-job-txn: Don't start block job before adding to txn,
Fam Zheng <=
Re: [Qemu-devel] [PATCH v2 0/6] block: Fixes regarding dataplane and management operations, Kevin Wolf, 2017/04/07