[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 11/11] block: declare blockjobs and dataplane fri
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v2 11/11] block: declare blockjobs and dataplane friends! |
Date: |
Tue, 21 Oct 2014 12:04:00 +0100 |
Now that blockjobs use AioContext they are safe for use with dataplane.
Unblock them!
Signed-off-by: Stefan Hajnoczi <address@hidden>
Reviewed-by: Max Reitz <address@hidden>
---
blockjob.c | 1 +
hw/block/dataplane/virtio-blk.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/blockjob.c b/blockjob.c
index b73f337..5f93c18 100644
--- a/blockjob.c
+++ b/blockjob.c
@@ -50,6 +50,7 @@ void *block_job_create(const BlockJobDriver *driver,
BlockDriverState *bs,
error_setg(&job->blocker, "block device is in use by block job: %s",
BlockJobType_lookup[driver->job_type]);
bdrv_op_block_all(bs, job->blocker);
+ bdrv_op_unblock(bs, BLOCK_OP_TYPE_DATAPLANE, job->blocker);
job->driver = driver;
job->bs = bs;
diff --git a/hw/block/dataplane/virtio-blk.c b/hw/block/dataplane/virtio-blk.c
index 5458f9d..0603230 100644
--- a/hw/block/dataplane/virtio-blk.c
+++ b/hw/block/dataplane/virtio-blk.c
@@ -195,6 +195,11 @@ void virtio_blk_data_plane_create(VirtIODevice *vdev,
VirtIOBlkConf *blk,
bdrv_op_block_all(blk->conf.bs, s->blocker);
bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_RESIZE, s->blocker);
bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_DRIVE_DEL, s->blocker);
+ bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_BACKUP_SOURCE, s->blocker);
+ bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_COMMIT, s->blocker);
+ bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_MIRROR, s->blocker);
+ bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_STREAM, s->blocker);
+ bdrv_op_unblock(blk->conf.bs, BLOCK_OP_TYPE_REPLACE, s->blocker);
*dataplane = s;
}
--
1.9.3
- [Qemu-devel] [PATCH v2 03/11] blockdev: acquire AioContext in blockdev_mark_auto_del(), (continued)
- [Qemu-devel] [PATCH v2 03/11] blockdev: acquire AioContext in blockdev_mark_auto_del(), Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 04/11] blockdev: add note that block_job_cb() must be thread-safe, Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 05/11] blockjob: add block_job_defer_to_main_loop(), Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 06/11] block: add bdrv_drain(), Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 07/11] block: let backup blockjob run in BDS AioContext, Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 09/11] block: let mirror blockjob run in BDS AioContext, Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 08/11] block: let stream blockjob run in BDS AioContext, Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 10/11] block: let commit blockjob run in BDS AioContext, Stefan Hajnoczi, 2014/10/21
- [Qemu-devel] [PATCH v2 11/11] block: declare blockjobs and dataplane friends!,
Stefan Hajnoczi <=
- Re: [Qemu-devel] [PATCH v2 00/11] block: allow blockjobs to coexist with dataplane, Stefan Hajnoczi, 2014/10/29