[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [RFC] Intermediate block mirroring
From: |
Alberto Garcia |
Subject: |
Re: [Qemu-block] [RFC] Intermediate block mirroring |
Date: |
Wed, 02 May 2018 15:07:52 +0200 |
User-agent: |
Notmuch/0.18.2 (http://notmuchmail.org) Emacs/24.4.1 (i586-pc-linux-gnu) |
On Wed 25 Apr 2018 04:03:22 PM CEST, Max Reitz wrote:
>>> But the question stands whether we need simple node replacement when
>>> we want bdrv_reopen() anyway. In addition, we don't need just
>>> replacement, we also need addition and removal (e.g. for backing
>>> files or quorum children) -- and especially in the case of quorum,
>>> that is going to be a pain (mostly naming the children).
>>>
>>> With bdrv_reopen(), we can just require the user to respecify all
>>> children, so we don't run into the issue of how to name things at
>>> least.
>>
>> So in this example, if you want to replace [B] with [E] you would
>> reopen [C] specifying the new backing file?
>>
>> [A] <- [B] <- [C] <- [D]
>>
>> [E]
>
> You can just use child node name references like in blockdev-add.
Were the (more or less) exact requirements of QMP blockdev-reopen
discussed? How is it different from qemu-io's "reopen" command? What are
the options that you can and can not change?
Also, you could replace an element in the backing chain using reopen,
but can you replace a node that is not a backing image of another one?
With QMP blockdev-replace you could use the existing blockdev-add
command and create an arbitrary tree and then simply do blockdev-replace
so I suppose that for some use cases at least it would be pretty
straightforward.
Berto
- Re: [Qemu-block] [RFC] Intermediate block mirroring,
Alberto Garcia <=