[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH v6 14/18] commit and mirror: create new nodes using bdrv_get_aio_
From: |
Emanuele Giuseppe Esposito |
Subject: |
[PATCH v6 14/18] commit and mirror: create new nodes using bdrv_get_aio_context, and not the job aiocontext |
Date: |
Mon, 14 Mar 2022 09:37:03 -0400 |
We are always using the given bs AioContext, so there is no need
to take the job ones (which is identical anyways).
This also reduces the point we need to check when protecting
job.aio_context field.
Reviewed-by: Stefan Hajnoczi <stefanha@redhat.com>
Signed-off-by: Emanuele Giuseppe Esposito <eesposit@redhat.com>
---
block/commit.c | 4 ++--
block/mirror.c | 2 +-
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/block/commit.c b/block/commit.c
index c76899f640..99dfc1dacd 100644
--- a/block/commit.c
+++ b/block/commit.c
@@ -369,7 +369,7 @@ void commit_start(const char *job_id, BlockDriverState *bs,
goto fail;
}
- s->base = blk_new(s->common.job.aio_context,
+ s->base = blk_new(bdrv_get_aio_context(bs),
base_perms,
BLK_PERM_CONSISTENT_READ
| BLK_PERM_WRITE_UNCHANGED);
@@ -381,7 +381,7 @@ void commit_start(const char *job_id, BlockDriverState *bs,
s->base_bs = base;
/* Required permissions are already taken with block_job_add_bdrv() */
- s->top = blk_new(s->common.job.aio_context, 0, BLK_PERM_ALL);
+ s->top = blk_new(bdrv_get_aio_context(bs), 0, BLK_PERM_ALL);
ret = blk_insert_bs(s->top, top, errp);
if (ret < 0) {
goto fail;
diff --git a/block/mirror.c b/block/mirror.c
index a7c3bab382..8a975537c0 100644
--- a/block/mirror.c
+++ b/block/mirror.c
@@ -1727,7 +1727,7 @@ static BlockJob *mirror_start_job(
goto fail;
}
- s->target = blk_new(s->common.job.aio_context,
+ s->target = blk_new(bdrv_get_aio_context(bs),
target_perms, target_shared_perms);
ret = blk_insert_bs(s->target, target, errp);
if (ret < 0) {
--
2.31.1
- [PATCH v6 15/18] job: detect change of aiocontext within job coroutine, (continued)
- [PATCH v6 15/18] job: detect change of aiocontext within job coroutine, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 10/18] jobs: rename static functions called with job_mutex held, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 08/18] jobs: use job locks also in the unit tests, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 05/18] job.h: add _locked duplicates for job API functions called with and without job_mutex, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 18/18] block_job_query: remove atomic read, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 17/18] job.c: enable job lock/unlock and remove Aiocontext locks, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 06/18] jobs: protect jobs with job_lock/unlock, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 11/18] job.h: rename job API functions called with job_mutex held, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 13/18] job.h: define unlocked functions, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 09/18] block/mirror.c: use of job helpers in drivers to avoid TOC/TOU, Emanuele Giuseppe Esposito, 2022/03/14
- [PATCH v6 14/18] commit and mirror: create new nodes using bdrv_get_aio_context, and not the job aiocontext,
Emanuele Giuseppe Esposito <=
- [PATCH v6 16/18] jobs: protect job.aio_context with BQL and job_mutex, Emanuele Giuseppe Esposito, 2022/03/14