qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] blockdev-commit design


From: Kashyap Chamarthy
Subject: Re: [Qemu-block] blockdev-commit design
Date: Tue, 3 Oct 2017 10:00:26 +0200
User-agent: Mutt/1.6.0.1 (2016-04-01)

On Mon, Oct 02, 2017 at 05:32:52PM +0200, Kevin Wolf wrote:
> Am 02.10.2017 um 17:01 hat Kashyap Chamarthy geschrieben:
> > On Tue, Sep 26, 2017 at 07:59:42PM +0200, Kevin Wolf wrote:

[...]

> >         {
> >             "execute": "block-commit",
> >             "arguments": {
> >                 "device": "node-D",
> >                 "job-id": "job0",
> >                 "top": "d.qcow2",
> >                 "base": "a.qcow2"
> >             }
> >         }
> > 
> >     So when merging the top-most layer (D), there's at least one
> >     scenario where we _are_ specifying the "active layer".  And 'top'
> >     _is_ mandatory as seen above.  
> >     
> >     So I wonder if I'm misinterpreting your wording.
> 
> The point is that you specify both "device" and "top". There is no real
> use in specifying "device", because "top" already identifies the node.
> (Of course, file names aren't a good way to identify nodes, so the
> assumption is that they are replaced by node names.)

Ah, thanks.  Now I recall that the existing `block-commit` is the only
command (among mirror, backup, stream, and commit) that doesn't yet
support 'node-name' / 'snapshot-node-name'.  Hence your proposal, to
bring it more in-line w/ blockdev-{mirror,backup}, and `block-stream`[*]
(which accepts 'base-node', and its "device" parameter takes a named
node).

[*] https://lists.gnu.org/archive/html/qemu-block/2017-05/msg01230.html

> In the active commit case, it is just duplicated information, but in the
> case of an intermediate commit, it is additional information that needs
> to be provided without good reason.

It's clearer now, thank you.

> > (2) Also, just for my own education, can you mind expanding a bit more
> >     about the "there can be more than one active layer" scenario?
> 
> Something like this, C is the backing file of both D and E:
> 
> 
>                     +--- D
>                     |
>     A <- B <- C <---+
>                     |
>                     +--- E
> 
> I want to commit C into B. But do I specify D or E as the active layer?
> They are both active layers above C.

Ah-ha, yes, it's the "thin provisoning" case.

Thanks for the explanation.

-- 
/kashyap



reply via email to

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