[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-block] [PATCH v2 04/16] blockjob: Allow aio context change on inte
From: |
Fam Zheng |
Subject: |
[Qemu-block] [PATCH v2 04/16] blockjob: Allow aio context change on intermediate nodes |
Date: |
Wed, 19 Apr 2017 17:43:44 +0800 |
The intermediate nodes do work with aio context change, so allow that
operations.
Signed-off-by: Fam Zheng <address@hidden>
---
block/commit.c | 3 ++-
block/mirror.c | 3 ++-
block/stream.c | 3 ++-
3 files changed, 6 insertions(+), 3 deletions(-)
diff --git a/block/commit.c b/block/commit.c
index 91d2c34..c07ee00 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -365,7 +365,8 @@ void commit_start(const char *job_id, BlockDriverState *bs,
* for its backing file). The other options would be a second filter
* driver above s->base. */
ret = block_job_add_bdrv(&s->common, "intermediate node", iter, 0,
- BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE,
+ BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE |
+ BLK_PERM_AIO_CONTEXT_CHANGE,
errp);
if (ret < 0) {
goto fail;
diff --git a/block/mirror.c b/block/mirror.c
index 164438f..7ab3289 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1231,7 +1231,8 @@ static void mirror_start_job(const char *job_id,
BlockDriverState *bs,
* also blocked for its backing file). The other options would be a
* second filter driver above s->base (== target). */
ret = block_job_add_bdrv(&s->common, "intermediate node", iter, 0,
- BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE,
+ BLK_PERM_WRITE_UNCHANGED | BLK_PERM_WRITE
|
+ BLK_PERM_AIO_CONTEXT_CHANGE,
errp);
if (ret < 0) {
goto fail;
diff --git a/block/stream.c b/block/stream.c
index 0113710..2fab1f4 100644
--- a/block/stream.c
+++ b/block/stream.c
@@ -265,7 +265,8 @@ void stream_start(const char *job_id, BlockDriverState *bs,
* and resizes. */
for (iter = backing_bs(bs); iter && iter != base; iter = backing_bs(iter))
{
block_job_add_bdrv(&s->common, "intermediate node", iter, 0,
- BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE_UNCHANGED,
+ BLK_PERM_CONSISTENT_READ | BLK_PERM_WRITE_UNCHANGED
|
+ BLK_PERM_AIO_CONTEXT_CHANGE,
&error_abort);
}
--
2.9.3
- [Qemu-block] [PATCH v2 00/16] block: Protect AIO context change with perm API, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 01/16] block: Define BLK_PERM_AIO_CONTEXT_CHANGE, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 02/16] block-backend: Add blk_request_perm, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 03/16] blockjob: Add BLK_PERM_AIO_CONTEXT_CHANGE shared perm on bs, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 04/16] blockjob: Allow aio context change on intermediate nodes,
Fam Zheng <=
- [Qemu-block] [PATCH v2 05/16] block: Propagate BLK_PERM_AIO_CONTEXT_CHANGE down the graph, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 06/16] backup: Request BLK_PERM_AIO_CONTEXT_CHANGE on target, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 07/16] backup: Do initial aio context move of target via BB interface, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 09/16] commit: Allow aio context change on s->base, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 08/16] mirror: Request aio context change permission on target, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 10/16] mirror: Do initial aio context move of target via BB interface, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 11/16] virtio-scsi: Request BLK_PERM_AIO_CONTEXT_CHANGE for dataplane, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 12/16] virtio-blk: Request BLK_PERM_AIO_CONTEXT_CHANGE for dataplane, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 13/16] blk: fix aio context loss on media change, Fam Zheng, 2017/04/19
- [Qemu-block] [PATCH v2 14/16] nbd: Allow BLK_PERM_AIO_CONTEXT_CHANGE on BB, Fam Zheng, 2017/04/19