From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:53733) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UHXcy-000164-FX for qemu-devel@nongnu.org; Mon, 18 Mar 2013 06:49:22 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UHXcp-0003Ho-4g for qemu-devel@nongnu.org; Mon, 18 Mar 2013 06:49:16 -0400 Received: from e28smtp04.in.ibm.com ([122.248.162.4]:57318) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UHXco-0003GF-H1 for qemu-devel@nongnu.org; Mon, 18 Mar 2013 06:49:07 -0400 Received: from /spool/local by e28smtp04.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Mon, 18 Mar 2013 16:15:45 +0530 Received: from d28relay03.in.ibm.com (d28relay03.in.ibm.com [9.184.220.60]) by d28dlp02.in.ibm.com (Postfix) with ESMTP id 8FF173940065 for ; Mon, 18 Mar 2013 16:18:59 +0530 (IST) Received: from d28av01.in.ibm.com (d28av01.in.ibm.com [9.184.220.63]) by d28relay03.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id r2IAmsOo64880670 for ; Mon, 18 Mar 2013 16:18:54 +0530 Received: from d28av01.in.ibm.com (loopback [127.0.0.1]) by d28av01.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id r2IAmuJQ009424 for ; Mon, 18 Mar 2013 10:48:58 GMT Message-ID: <5146F0DD.6060008@linux.vnet.ibm.com> Date: Mon, 18 Mar 2013 18:47:57 +0800 From: Wenchao Xia MIME-Version: 1.0 References: <5142CCB6.7000004@linux.vnet.ibm.com> <20130315145100.GA17187@stefanha-thinkpad.redhat.com> <5146B6F2.3030004@linux.vnet.ibm.com> <20130318090430.GB2476@dhcp-200-207.str.redhat.com> In-Reply-To: <20130318090430.GB2476@dhcp-200-207.str.redhat.com> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Subject: Re: [Qemu-devel] [RFC] qmp interface for save vmstate to image List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Kevin Wolf Cc: Stefan Hajnoczi , Paolo Bonzini , qemu-devel , Dietmar Maurer , Juan Quintela 于 2013-3-18 17:04, Kevin Wolf 写道: > Am 18.03.2013 um 07:40 hat Wenchao Xia geschrieben: >> 于 2013-3-15 22:51, Stefan Hajnoczi 写道: >>> On Fri, Mar 15, 2013 at 03:24:38PM +0800, Wenchao Xia wrote: >>>> I'd like to add a new way to save vmstate, which will based on the >>>> migration thread, but will write contents to block images, instead >>>> of fd as stream. Following is the method to add API: >>> >>> Hi Wenchao, >>> What use cases are there besides saving vmstate to a raw image? >>> >>> I'm curious if you're proposing this since there is no "file:" URI or >>> because you really want to do things like saving vmstate into a qcow2 >>> file or over NBD. >>> >>> Stefan >>> >> Hi, Stefan >> Most used cases would be "raw" and "qcow2", which is flex and can be >> chosen by user. In this way, existing block layer feature in qemu can >> be used, such as tagging zeros. I haven't check the buffer/cache status >> in qemu block layer, but if there is, it can also benefit. >> User can specify "raw" or "qcow2" according to host configuration, If >> there is dedicated storage components underlining, he can use "raw" to >> skip qemu's block layer. > > Oh, seems I misread this then. I thought this was about internal live > snapshots, which is a feature that I consider really useful. I'm not so > sure if saving the VM state as the disk contents of a qcow2 image is > really helpful. > Actually I am leaving internal live snapshot as 2nd step since there are a bit more work to do when using migration thread, since SPICE is handled in migration but not in internal snapshot. The main purpose is getting a standalone vmstate saving file with limited size, since internal snapshot lacks a API now to drop vmstate at any time.(better to have API to export vmstate/delta block data). > If zero clusters help a lot, then there's clearly something to improve > in the migration protocol, because it shouldn't send so many zeros in > the first place. > In streaming case, zero are good encoded now I think, but when it uses fseek(), there may be some zeros inside, and small writes. Handling those are likely block layer's job, by using image I can directly use qemu's block layer with qcow2 format, or using raw if underline component there, make it flex. > Kevin > -- Best Regards Wenchao Xia