qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH for-4.1] block: Assert that drv->bdrv_child_perm


From: Alberto Garcia
Subject: Re: [Qemu-block] [PATCH for-4.1] block: Assert that drv->bdrv_child_perm is set in bdrv_child_perm()
Date: Fri, 26 Apr 2019 16:01:42 +0200
User-agent: Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu)

ping

On Thu 04 Apr 2019 01:29:53 PM CEST, Alberto Garcia wrote:
> There is no need to check for this because all block drivers that have
> children implement bdrv_child_perm and all callers already ensure that
> bs->drv is set.
>
> Furthermore, if this check would fail then the callers would end up
> with uninitialized values for nperm and nshared.
>
> This patch replaces the check with an assertion.
>
> Signed-off-by: Alberto Garcia <address@hidden>
> ---
>  block.c | 9 ++++-----
>  1 file changed, 4 insertions(+), 5 deletions(-)
>
> diff --git a/block.c b/block.c
> index 3050854528..5f92565692 100644
> --- a/block.c
> +++ b/block.c
> @@ -1742,11 +1742,10 @@ static void bdrv_child_perm(BlockDriverState *bs, 
> BlockDriverState *child_bs,
>                              uint64_t parent_perm, uint64_t parent_shared,
>                              uint64_t *nperm, uint64_t *nshared)
>  {
> -    if (bs->drv && bs->drv->bdrv_child_perm) {
> -        bs->drv->bdrv_child_perm(bs, c, role, reopen_queue,
> -                                 parent_perm, parent_shared,
> -                                 nperm, nshared);
> -    }
> +    assert(bs->drv && bs->drv->bdrv_child_perm);
> +    bs->drv->bdrv_child_perm(bs, c, role, reopen_queue,
> +                             parent_perm, parent_shared,
> +                             nperm, nshared);
>      /* TODO Take force_share from reopen_queue */
>      if (child_bs && child_bs->force_share) {
>          *nshared = BLK_PERM_ALL;
> -- 
> 2.11.0



reply via email to

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