[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH 05/24] block: Mark block_job_add_bdrv() GRAPH_WRLOCK
From: |
Eric Blake |
Subject: |
Re: [PATCH 05/24] block: Mark block_job_add_bdrv() GRAPH_WRLOCK |
Date: |
Fri, 27 Oct 2023 15:27:40 -0500 |
User-agent: |
NeoMutt/20231023 |
On Fri, Oct 27, 2023 at 05:53:14PM +0200, Kevin Wolf wrote:
> Instead of taking the writer lock internally, require callers to already
> hold it when calling block_job_add_bdrv(). These callers will typically
> already hold the graph lock once the locking work is completed, which
> means that they can't call functions that take it internally.
>
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
> include/block/blockjob.h | 5 +++--
> include/block/blockjob_int.h | 9 +++++----
> block/backup.c | 21 +++++++++++++++------
> block/commit.c | 5 +++++
> block/mirror.c | 5 +++++
> block/stream.c | 4 ++++
> blockjob.c | 8 +++++---
> tests/unit/test-bdrv-drain.c | 3 +++
> 8 files changed, 45 insertions(+), 15 deletions(-)
>
Some of the control-flow scenarios made this one bigger, but the logic
changes look sound.
Reviewed-by: Eric Blake <eblake@redhat.com>
--
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization: qemu.org | libguestfs.org
- [PATCH 01/24] block: Mark bdrv_probe_blocksizes() and callers GRAPH_RDLOCK, (continued)
- [PATCH 01/24] block: Mark bdrv_probe_blocksizes() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 02/24] block: Mark bdrv_has_zero_init() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 03/24] block: Mark bdrv_filter_bs() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 07/24] block: Mark bdrv_skip_implicit_filters() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 05/24] block: Mark block_job_add_bdrv() GRAPH_WRLOCK, Kevin Wolf, 2023/10/27
- Re: [PATCH 05/24] block: Mark block_job_add_bdrv() GRAPH_WRLOCK,
Eric Blake <=
- [PATCH 06/24] block: Mark bdrv_filter_or_cow_bs() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 13/24] block: Mark bdrv_set_backing_hd_drained() GRAPH_WRLOCK, Kevin Wolf, 2023/10/27
- [PATCH 08/24] block: Mark bdrv_skip_filters() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 12/24] block: Mark bdrv_cow_child() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27
- [PATCH 09/24] block: Mark bdrv_(un)freeze_backing_chain() and callers GRAPH_RDLOCK, Kevin Wolf, 2023/10/27