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 <kw...@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 <ebl...@redhat.com> -- Eric Blake, Principal Software Engineer Red Hat, Inc. Virtualization: qemu.org | libguestfs.org