qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH v3 13/16] block: Implement bdrv_append() without


From: Alberto Garcia
Subject: Re: [Qemu-devel] [PATCH v3 13/16] block: Implement bdrv_append() without bdrv_swap()
Date: Mon, 12 Oct 2015 16:27:55 +0200
User-agent: Notmuch/0.13.2 (http://notmuchmail.org) Emacs/23.2.1 (i486-pc-linux-gnu)

On Fri 09 Oct 2015 02:15:38 PM CEST, Kevin Wolf wrote:
> +static void change_parent_backing_link(BlockDriverState *from,
> +                                       BlockDriverState *to)
> +{
> +    BdrvChild *c, *next;
> +
> +    QLIST_FOREACH_SAFE(c, &from->parents, next_parent, next) {
> +        assert(c->role != &child_backing);
> +        c->bs = to;
> +        QLIST_REMOVE(c, next_parent);
> +        QLIST_INSERT_HEAD(&to->parents, c, next_parent);
> +        bdrv_ref(to);
> +        bdrv_unref(from);
> +    }
> +    if (from->blk) {
> +        blk_set_bs(from->blk, to);
> +        if (!to->device_list.tqe_prev) {
> +            QTAILQ_INSERT_BEFORE(from, to, device_list);
> +        }

Is it even possible that this last condition is false? In what case
would 'to' be already in bdrv_states?

I understand that it would mean that it would already be attached to a
BlockBackend, but that's not possible in this case.

Berto



reply via email to

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