From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=35607 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1OsyhI-0003aw-3p for qemu-devel@nongnu.org; Tue, 07 Sep 2010 09:58:53 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1OsyhA-0004wg-Rb for qemu-devel@nongnu.org; Tue, 07 Sep 2010 09:58:51 -0400 Received: from mx1.redhat.com ([209.132.183.28]:65140) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1OsyhA-0004wP-K9 for qemu-devel@nongnu.org; Tue, 07 Sep 2010 09:58:44 -0400 Message-ID: <4C86450D.2090007@redhat.com> Date: Tue, 07 Sep 2010 16:58:37 +0300 From: Avi Kivity MIME-Version: 1.0 Subject: Re: [Qemu-devel] [RFC] qed: Add QEMU Enhanced Disk format References: <1283767478-16740-1-git-send-email-stefanha@linux.vnet.ibm.com> In-Reply-To: <1283767478-16740-1-git-send-email-stefanha@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit 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 On 09/06/2010 01:04 PM, Stefan Hajnoczi wrote: > QEMU Enhanced Disk format is a disk image format that forgoes features > found in qcow2 in favor of better levels of performance and data > integrity. Due to its simpler on-disk layout, it is possible to safely > perform metadata updates more efficiently. > > Installations, suspend-to-disk, and other allocation-heavy I/O workloads > will see increased performance due to fewer I/Os and syncs. Workloads > that do not cause new clusters to be allocated will perform similar to > raw images due to in-memory metadata caching. > > The format supports sparse disk images. It does not rely on the host > filesystem holes feature, making it a good choice for sparse disk images > that need to be transferred over channels where holes are not supported. > > Backing files are supported so only deltas against a base image can be > stored. > > The file format is extensible so that additional features can be added > later with graceful compatibility handling. > > Internal snapshots are not supported. This eliminates the need for > additional metadata to track copy-on-write clusters. > > Compression and encryption are not supported. They add complexity and > can be implemented at other layers in the stack (i.e. inside the guest > or on the host). > > The format is currently functional with the following features missing: > * Resizing the disk image. The capability has been designed in but the > code has not been written yet. > * Resetting the image after backing file commit completes. > * Changing the backing filename. > * Consistency check (fsck). This is simple due to the on-disk layout. > > Signed-off-by: Anthony Liguori > Signed-off-by: Stefan Hajnoczi > --- > This code is also available from git (for development and testing the tracing > and blkverify features are pulled in, whereas this single squashed patch > applies to mainline qemu.git): > > http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/qed > > Numbers for RHEL6 install, cache=none disk image on ext3. This is an > interactive install on my laptop, so not a proper benchmark but I want to show > there is real difference today: > * raw: 4m4s > * qed: 4m21s (107%) > * qcow2: 4m46s (117%) > > Makefile.objs | 1 + > block/qcow2.c | 22 - > block/qed-cluster.c | 136 +++++++ > block/qed-gencb.c | 32 ++ > block/qed-l2-cache.c | 131 ++++++ > block/qed-table.c | 242 +++++++++++ > block/qed.c | 1103 ++++++++++++++++++++++++++++++++++++++++++++++++++ > block/qed.h | 212 ++++++++++ docs/qed.txt ++++++++++++++++++++++++++++++++++++++++++++ ? -- error compiling committee.c: too many arguments to function