qemu-block
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH 15/24] block: Mark bdrv_replace_node_common() GRAPH_WRLOCK


From: Eric Blake
Subject: Re: [PATCH 15/24] block: Mark bdrv_replace_node_common() GRAPH_WRLOCK
Date: Fri, 27 Oct 2023 16:27:11 -0500
User-agent: NeoMutt/20231023

On Fri, Oct 27, 2023 at 05:53:24PM +0200, Kevin Wolf wrote:
> Instead of taking the writer lock internally, require callers to already
> hold it when calling bdrv_replace_node_common(). Basically everthing in
> the function needs the lock and its callers may already want to hold the
> graph lock and so wouldn't be able to call functions that take it
> internally.
> 
> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
> ---
>  block.c | 68 ++++++++++++++++++++++++++++++++++++---------------------
>  1 file changed, 43 insertions(+), 25 deletions(-)
> 
> diff --git a/block.c b/block.c
> index dc43e36f69..c7409cf658 100644
> --- a/block.c
> +++ b/block.c
> @@ -5412,6 +5412,9 @@ bdrv_replace_node_noperm(BlockDriverState *from,
>  }
>  
>  /*
> + * Switch all parents of @from to point to @to instead. @from and @to must 
> be in
> + * the same AioContext and both must be drained.
> + *
>   * With auto_skip=true bdrv_replace_node_common skips updating from parents
>   * if it creates a parent-child relation loop or if parent is block-job.

Useful doc addition, even though the commit message doesn't mention
it.  I see no problem with keeping it.

Reviewed-by: Eric Blake <eblake@redhat.com>

-- 
Eric Blake, Principal Software Engineer
Red Hat, Inc.
Virtualization:  qemu.org | libguestfs.org




reply via email to

[Prev in Thread] Current Thread [Next in Thread]