From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:56195) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UFjwq-0000SP-Fe for qemu-devel@nongnu.org; Wed, 13 Mar 2013 07:34:26 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UFjwl-0004oe-IQ for qemu-devel@nongnu.org; Wed, 13 Mar 2013 07:34:20 -0400 Received: from mail-qe0-f52.google.com ([209.85.128.52]:61688) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UFjwl-0004oM-Dt for qemu-devel@nongnu.org; Wed, 13 Mar 2013 07:34:15 -0400 Received: by mail-qe0-f52.google.com with SMTP id s14so503957qeb.39 for ; Wed, 13 Mar 2013 04:34:14 -0700 (PDT) Date: Wed, 13 Mar 2013 12:34:08 +0100 From: Stefan Hajnoczi Message-ID: <20130313113408.GA30532@stefanha-thinkpad.muc.redhat.com> References: <1363000996-13221-1-git-send-email-xiawenc@linux.vnet.ibm.com> <20130312100754.GC19624@stefanha-thinkpad.redhat.com> <513F54EE.1050205@redhat.com> <513FEA7A.7000102@linux.vnet.ibm.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <513FEA7A.7000102@linux.vnet.ibm.com> Subject: Re: [Qemu-devel] [PATCH V9 00/14] qmp/hmp interfaces for internal snapshot info List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Wenchao Xia Cc: kwolf@redhat.com, armbru@redhat.com, qemu-devel@nongnu.org, lcapitulino@redhat.com, pbonzini@redhat.com On Wed, Mar 13, 2013 at 10:54:50AM +0800, Wenchao Xia wrote: > 于 2013-3-13 0:16, Eric Blake 写道: > >On 03/12/2013 04:07 AM, Stefan Hajnoczi wrote: > >>On Mon, Mar 11, 2013 at 07:23:02PM +0800, Wenchao Xia wrote: > >>> In the use of snapshot a way to retrieve related info at runtime is needed, > >>>so this serial of patches will merge some code for qemu and qemu-img, and add > >>>following interfaces for qemu: > >>> > > > >>Is there a reason you added the new query-images command instead of > >>extending BlockDeviceInfo with an ImageInfo field? Then query-block, > >>which is already used today, just provides ImageInfo as well. > >> > >>I suggest this because it makes life easier for clients - they can issue > >>a single command to extract all image information. If we have two > >>commands they may have to invoke both and then match the results > >>together. > > > >Indeed, from the libvirt perspective, I would much prefer that a single > >command gives me everything, instead of having to call two commands to > >build up the complete picture. > > > > I have no special reason for new interface query-images, it just > show up during the work, and I am pretty OK to merge the information > into query-block especially when the user of it, Eric hope so. Then > the qmp interface need to designed carefully, my idea is adding an item > in BlockDeviceInfo: > > { '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? Stefan