On Fri 20 Apr 2018 03:13:49 PM CEST, Max Reitz wrote:
>>>>>> One other way is to have a more generic replace-node command
>>>>>> which would call bdrv_replace_node(), but I don't know if we want
>>>>>> to expose that and I don't have any other use case for it at the
>>>>>> moment.
>>>>>
>>>>> I think we do want to expose that.  As far as I'm informed, for
>>>>> graph manipulation we want a command that can replace nodes
>>>>> (including replacing nothing by a new node or replacing an
>>>>> existing node by nothing, if the parent supports that).
>>>>
>>>> Was there any discussion about this in the mailing list? (proposed
>>>> name for this function, features, etc.)
>>>
>>> Well, there is x-blockdev-change.  But we probably want to expose
>>> bdrv_reopen() in the long run.
>> 
>> Exposing bdrv_reopen() itself shouldn't be too much work (it takes
>> just two node names, or am I missing something?).

I just realized that I meant "Exposing bdrv_replace_node()" here.

> So from my perspective...  If you think it's easy, why don't you try
> it and then we'll see? *cough*

I'm doing it :-)

>> There's still the question of how to update the backing file string
>> (on the overlay). stream and commit do it automatically, but if we do
>> bdrv_reopen() or the aforementioned modification to blockdev-mirror

bdrv_replace_node() again

>> we'd need to do it explicitly with change-backing-file, or extend the
>> API to allow for that.
>
> Well, the December notes do say that we probably want an option to
> specify the target's filename which is what will be written into the
> overlays of @to_replace as their backing file string, so I think
> extending the API should be fine.

Yes, but how do you find out what the overlays are (without an
additional parameter, that is)? I thought we didn't want to support
walking the backing chain in reverse direction.

Berto

Reply via email to