[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
signature.asc
Description: OpenPGP digital signature
- Re: [Qemu-block] [PATCH v4 02/11] block: Accept node-name for block-commit, (continued)
[Qemu-block] [PATCH v4 04/11] block: Accept node-name for blockdev-mirror, Kevin Wolf, 2016/07/14
[Qemu-block] [PATCH v4 05/11] block: Accept node-name for blockdev-snapshot-delete-internal-sync, Kevin Wolf, 2016/07/14
[Qemu-block] [PATCH v4 03/11] block: Accept node-name for blockdev-backup, Kevin Wolf, 2016/07/14
[Qemu-block] [PATCH v4 01/11] block: Accept node-name for block-stream, Kevin Wolf, 2016/07/14
- Re: [Qemu-block] [PATCH v4 01/11] block: Accept node-name for block-stream,
Eric Blake <=
[Qemu-block] [PATCH v4 07/11] block: Accept node-name for change-backing-file, Kevin Wolf, 2016/07/14
[Qemu-block] [PATCH v4 06/11] block: Accept node-name for blockdev-snapshot-internal-sync, Kevin Wolf, 2016/07/14
[Qemu-block] [PATCH v4 08/11] block: Accept node-name for drive-backup, Kevin Wolf, 2016/07/14
[Qemu-block] [PATCH v4 09/11] block: Accept node-name for drive-mirror, Kevin Wolf, 2016/07/14