qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [Qemu-block] [PATCH RFC 1/1] Stream block job involves


From: Alberto Garcia
Subject: Re: [Qemu-devel] [Qemu-block] [PATCH RFC 1/1] Stream block job involves copy-on-read filter
Date: Mon, 11 Feb 2019 15:07:39 +0100
User-agent: Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu)

On Fri 08 Feb 2019 04:29:48 PM CET, Andrey Shinkevich wrote:
> On 08/02/2019 16:13, Alberto Garcia wrote:
>> On Wed 23 Jan 2019 12:54:24 PM CET, Andrey Shinkevich wrote:
>>> +static BlockDriverState *insert_filter(BlockDriverState *bs, Error **errp)
>>> +{
>>> +    BlockDriverState *cor_filter_bs;
>>> +    Error *local_err = NULL;
>>> +
>>> +    cor_filter_bs = create_filter_node(bs, errp);
>>> +    if (cor_filter_bs == NULL) {
>>> +        error_prepend(errp, "Could not create filter node: ");
>>> +        return NULL;
>>> +    }
>>> +
>>> +    bdrv_set_aio_context(cor_filter_bs, bdrv_get_aio_context(bs));
>>> +
>>> +    bdrv_drained_begin(bs);
>>> +    bdrv_replace_node(bs, cor_filter_bs, &local_err);
>>> +    bdrv_drained_end(bs);
>> 
>> I think this was already discussed in the previous version of this
>> patch: if you insert a copy-on-read filter here then all guest reads
>> will copy the data from the backing chain, but you don't want to copy
>> anything below the 'base' node, so the copy-on-read filter needs a
>> 'base' parameter.
>> 
> Before that, we still have the unresolved issue with getting the
> filter as the 'base' input parameter. That happens sometimes because
> the base is being searched by the file name, which is the same to the
> one of the filter, rather than by the node name (!)

I'm not sure if I understand. block-stream has 'base' and 'base-node'
parameters, and in the first case you would convert the file name to a
node name.

stream_start() gets the BlockDriverState, not the file name, so why
can't you get the node name from there and pass it to the copy-on-read
filter?

Berto



reply via email to

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