aboutsummaryrefslogtreecommitdiff
path: root/block/mirror.c
diff options
context:
space:
mode:
authorKevin Wolf <kwolf@redhat.com>2018-04-25 14:56:09 +0200
committerKevin Wolf <kwolf@redhat.com>2018-05-23 14:30:51 +0200
commit2e1795b58131427719c7cd11f8b9b6984b3f24f8 (patch)
treed9e0c9842af8c71f9aa40c56599c880a88ca7535 /block/mirror.c
parentdf956ae2014340bf7de0190edb1d09be55d9eadf (diff)
downloadqemu-2e1795b58131427719c7cd11f8b9b6984b3f24f8.zip
qemu-2e1795b58131427719c7cd11f8b9b6984b3f24f8.tar.gz
qemu-2e1795b58131427719c7cd11f8b9b6984b3f24f8.tar.bz2
job: Add job_transition_to_ready()
The transition to the READY state was still performed in the BlockJob layer, in the same function that sent the BLOCK_JOB_READY QMP event. This patch brings the state transition to the Job layer and implements the QMP event using a notifier called from the Job layer, like we already do for other events related to state transitions. Signed-off-by: Kevin Wolf <kwolf@redhat.com> Reviewed-by: Max Reitz <mreitz@redhat.com>
Diffstat (limited to 'block/mirror.c')
-rw-r--r--block/mirror.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/block/mirror.c b/block/mirror.c
index 687f955..bdc1b5b 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -727,8 +727,8 @@ static void coroutine_fn mirror_run(void *opaque)
}
if (s->bdev_length == 0) {
- /* Report BLOCK_JOB_READY and wait for complete. */
- block_job_event_ready(&s->common);
+ /* Transition to the READY state and wait for complete. */
+ job_transition_to_ready(&s->common.job);
s->synced = true;
while (!job_is_cancelled(&s->common.job) && !s->should_complete) {
job_yield(&s->common.job);
@@ -824,7 +824,7 @@ static void coroutine_fn mirror_run(void *opaque)
* report completion. This way, block-job-cancel will leave
* the target in a consistent state.
*/
- block_job_event_ready(&s->common);
+ job_transition_to_ready(&s->common.job);
s->synced = true;
}