From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=51329 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Oynw8-0005gj-5d for qemu-devel@nongnu.org; Thu, 23 Sep 2010 11:42:17 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.69) (envelope-from ) id 1Oynw5-0002IM-99 for qemu-devel@nongnu.org; Thu, 23 Sep 2010 11:42:15 -0400 Received: from mtagate2.de.ibm.com ([195.212.17.162]:33322) by eggs.gnu.org with esmtp (Exim 4.69) (envelope-from ) id 1Oynw5-0002H6-0I for qemu-devel@nongnu.org; Thu, 23 Sep 2010 11:42:13 -0400 Received: from d12nrmr1607.megacenter.de.ibm.com (d12nrmr1607.megacenter.de.ibm.com [9.149.167.49]) by mtagate2.de.ibm.com (8.13.1/8.13.1) with ESMTP id o8NFg9hb013470 for ; Thu, 23 Sep 2010 15:42:09 GMT Received: from d12av04.megacenter.de.ibm.com (d12av04.megacenter.de.ibm.com [9.149.165.229]) by d12nrmr1607.megacenter.de.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id o8NFg9pA4001870 for ; Thu, 23 Sep 2010 17:42:09 +0200 Received: from d12av04.megacenter.de.ibm.com (loopback [127.0.0.1]) by d12av04.megacenter.de.ibm.com (8.12.11.20060308/8.13.3) with ESMTP id o8NFg91C026459 for ; Thu, 23 Sep 2010 17:42:09 +0200 From: Stefan Hajnoczi Date: Thu, 23 Sep 2010 16:41:47 +0100 Message-Id: <1285256514-21138-1-git-send-email-stefanha@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH 0/7] qed: Add QEMU Enhanced Disk format List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: Kevin Wolf , Anthony Liguori , Christoph Hellwig , Stefan Hajnoczi , Avi Kivity 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). Encryption has been identified as a potential future extension and the file format allows for this. This patchset implements the base functionality. Later patches will address the following points: * Fine-grained L2 cache to allow for better request parallelism. Allocating write requests are currently serialized. This will also fix the corner case where a read request to the same sectors as a pending write request looks at the backing file or zeroes instead of using the write request data. * 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. Signed-off-by: Anthony Liguori Signed-off-by: Stefan Hajnoczi --- Split up for easier reviewing. This code is also available from git: http://repo.or.cz/w/qemu/stefanha.git/shortlog/refs/heads/qed