From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=43392 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1P4sPg-0008Gl-Fk for qemu-devel@nongnu.org; Sun, 10 Oct 2010 05:41:56 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1P4s4n-0008Sh-27 for qemu-devel@nongnu.org; Sun, 10 Oct 2010 05:20:18 -0400 Received: from mx1.redhat.com ([209.132.183.28]:53078) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1P4s4m-0008Sd-Qh for qemu-devel@nongnu.org; Sun, 10 Oct 2010 05:20:17 -0400 Message-ID: <4CB18549.3020206@redhat.com> Date: Sun, 10 Oct 2010 11:20:09 +0200 From: Avi Kivity MIME-Version: 1.0 References: <1286552914-27014-1-git-send-email-stefanha@linux.vnet.ibm.com> <1286552914-27014-4-git-send-email-stefanha@linux.vnet.ibm.com> In-Reply-To: <1286552914-27014-4-git-send-email-stefanha@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit Subject: [Qemu-devel] Re: [PATCH v2 3/7] docs: Add QED image format specification List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Stefan Hajnoczi Cc: Kevin Wolf , Anthony Liguori , qemu-devel@nongnu.org, Christoph Hellwig On 10/08/2010 05:48 PM, Stefan Hajnoczi wrote: > Signed-off-by: Stefan Hajnoczi > --- > docs/specs/qed_spec.txt | 94 +++++++++++++++++++++++++++++++++++++++++++++++ > 1 files changed, 94 insertions(+), 0 deletions(-) > > +Feature bits: > +* QED_F_BACKING_FILE = 0x01. The image uses a backing file. > +* QED_F_NEED_CHECK = 0x02. The image needs a consistency check before use. Great that QED_F_NEED_CHECK is now non-optional. However, suppose we add a new structure (e.g. persistent freelist); it's now impossible to tell whether the structure is updated or not: 1 new qemu opens image 2 writes persistent freelist 3 clears need_check 4 shuts down 5 old qemu opens image 6 doesn't update persistent freelist 7 clears need_check 8 shuts down The image is now inconsistent, but has need_check cleared. We can address this by having a third feature bitmask that is autocleared by guests that don't recognize various bits; so the sequence becomes: 1 new qemu opens image 2 writes persistent freelist 3 clears need_check 4 sets persistent_freelist 5 shuts down 6 old qemu opens image 7 clears persistent_freelist (and any other bits it doesn't recognize) 8 doesn't update persistent freelist 9 clears need_check 10 shuts down The image is now consistent, since the persistent freelist has disappeared. > +* QED_CF_BACKING_FORMAT = 0x01. The image has a specific backing file format stored. > + It was suggested to have just a bit saying whether the backing format is raw or not. This way you don't need to store the format. -- error compiling committee.c: too many arguments to function