qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v4 01/11] block: Accept node-name for block-stre


From: Eric Blake
Subject: Re: [Qemu-block] [PATCH v4 01/11] block: Accept node-name for block-stream
Date: Thu, 14 Jul 2016 08:16:56 -0600
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:38.0) Gecko/20100101 Thunderbird/38.3.0

On 07/14/2016 07:28 AM, Kevin Wolf wrote:
> In order to remove the necessity to use BlockBackend names in the
> external API, we want to allow node-names everywhere. This converts
> block-stream to accept a node-name without lifting the restriction that
> we're operating at a root node.
> 
> In case of an invalid device name, the command returns the GenericError
> error class now instead of DeviceNotFound, because this is what
> qmp_get_root_bs() returns.
> 
> Signed-off-by: Kevin Wolf <address@hidden>
> ---
>  block/block-backend.c          | 16 ++++++++++++++++
>  blockdev.c                     | 32 ++++++++++++++++++++------------
>  include/sysemu/block-backend.h |  1 +
>  qapi/block-core.json           |  5 +----
>  qmp-commands.hx                |  2 +-
>  tests/qemu-iotests/030         |  2 +-
>  6 files changed, 40 insertions(+), 18 deletions(-)

Reviewed-by: Eric Blake <address@hidden>

> 
> diff --git a/block/block-backend.c b/block/block-backend.c
> index f9cea1b..4a00f8a 100644
> --- a/block/block-backend.c
> +++ b/block/block-backend.c
> @@ -410,6 +410,22 @@ bool bdrv_has_blk(BlockDriverState *bs)
>  }
>  
>  /*
> + * Returns true if @bs has only BlockBackends as parents.
> + */
> +bool bdrv_is_root_node(BlockDriverState *bs)
> +{
> +    BdrvChild *c;
> +
> +    QLIST_FOREACH(c, &bs->parents, next_parent) {
> +        if (c->role != &child_root) {
> +            return false;
> +        }
> +    }
> +
> +    return true;
> +}

I think you've settled on a good approach here.  Thanks for persisting
at it.

-- 
Eric Blake   eblake redhat com    +1-919-301-3266
Libvirt virtualization library http://libvirt.org

Attachment: signature.asc
Description: OpenPGP digital signature


reply via email to

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