summaryrefslogtreecommitdiff
path: root/block/mirror.c
diff options
context:
space:
mode:
authorFam Zheng <famz@redhat.com>2016-07-13 13:09:47 +0800
committerMichael S. Tsirkin <mst@redhat.com>2016-07-21 20:44:19 +0300
commitd4a92a8420ac764f21652322aa7d4e49cfcbc607 (patch)
tree8361ad0fac20fdcd94442cce98258a75378faf11 /block/mirror.c
parent1c627137c10ee2dcf59e0383ade8a9abfa2d4355 (diff)
downloadqemu-d4a92a8420ac764f21652322aa7d4e49cfcbc607.tar.gz
qemu-d4a92a8420ac764f21652322aa7d4e49cfcbc607.tar.bz2
qemu-d4a92a8420ac764f21652322aa7d4e49cfcbc607.zip
Revert "mirror: Workaround for unexpected iohandler events during completion"
This reverts commit ab27c3b5e7408693dde0b565f050aa55c4a1bcef. The virtio storage device host notifiers now work with bdrv_drained_begin/end, so we don't need this hack any more. Signed-off-by: Fam Zheng <famz@redhat.com> Reviewed-by: Michael S. Tsirkin <mst@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com> Reviewed-by: Cornelia Huck <cornelia.huck@de.ibm.com> Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com> Acked-by: Paolo Bonzini <pbonzini@redhat.com>
Diffstat (limited to 'block/mirror.c')
-rw-r--r--block/mirror.c9
1 files changed, 0 insertions, 9 deletions
diff --git a/block/mirror.c b/block/mirror.c
index b1e633ecad..9ae11e5276 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -508,9 +508,6 @@ static void mirror_exit(BlockJob *job, void *opaque)
block_job_completed(&s->common, data->ret);
g_free(data);
bdrv_drained_end(src);
- if (qemu_get_aio_context() == bdrv_get_aio_context(src)) {
- aio_enable_external(iohandler_get_aio_context());
- }
bdrv_unref(src);
}
@@ -734,12 +731,6 @@ immediate_exit:
/* Before we switch to target in mirror_exit, make sure data doesn't
* change. */
bdrv_drained_begin(bs);
- if (qemu_get_aio_context() == bdrv_get_aio_context(bs)) {
- /* FIXME: virtio host notifiers run on iohandler_ctx, therefore the
- * above bdrv_drained_end isn't enough to quiesce it. This is ugly, we
- * need a block layer API change to achieve this. */
- aio_disable_external(iohandler_get_aio_context());
- }
block_job_defer_to_main_loop(&s->common, mirror_exit, data);
}