qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V9 00/14] qmp/hmp interfaces for internal snapsh


From: Kevin Wolf
Subject: Re: [Qemu-devel] [PATCH V9 00/14] qmp/hmp interfaces for internal snapshot info
Date: Wed, 13 Mar 2013 13:35:56 +0100
User-agent: Mutt/1.5.21 (2010-09-15)

Am 13.03.2013 um 13:29 hat Eric Blake geschrieben:
> On 03/13/2013 05:34 AM, Stefan Hajnoczi wrote:
> >>
> >> { 'type': 'BlockDeviceInfo',
> >>   'data': { 'file': 'str', 'ro': 'bool', 'drv': 'str',
> >>             '*backing_file': 'str', 'backing_file_depth': 'int',
> >>             'encrypted': 'bool', 'encryption_key_missing': 'bool',
> >>             'bps': 'int', 'bps_rd': 'int', 'bps_wr': 'int',
> >>             'iops': 'int', 'iops_rd': 'int', 'iops_wr': 'int',
> >>             'images': ['ImageInfo']} }}
> >>
> >>   In this way, new define of structure is not needed, and no break
> >> of API I guess, but disadvantage is there will be some duplicated info
> >> in ImageInfo and other structure in BlockInfo, such as "file,
> >> encrypted".
> > 
> > I'm happy with adding a ImageInfo field into BlockDeviceInfo.
> > 
> > Why did you make it an array and what is the array's layout?
> 
> I think the point of an array of ImageInfo is to let us return data on
> an entire backing chain.  That is, if I have:
> 
> image.raw <- middle.qcow2 (with internal snapshot "a") <- top.qcow2
> (with internal snapshots "b", "c")
> 
> then I want to see data on image.raw, as well as on snapshots a, b, and
> c, all in one command.  For my example, 'images' would be a
> three-element array, with element 0 describing top.qcow2 and its two
> internal snapshots, element 1 describing middle.qcow2 and its snapshot,
> and element 2 describing image.raw.
> 
> However, it's also worth remembering that there has been a proposal for
> having quorums, where a single block device can have multiple images
> associated with the top level, and where we would then want a recursive
> structure rather than an array for representing backing chain
> information of a given information within the array of multiple images
> associated with a single quorum device.

Yes, please go for a recursive structure. You might also want to get
information about bs->file like query-blockstats already provides, so
you already have a second link today.

I wonder if we could somehow add driver-specific fields to this struct
or if QAPI just breaks down when you try to do something like this. It
is what Quorum would have to use. But that's a separate problem and
shouldn't block this series.

Kevin



reply via email to

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