Features/QED: Difference between revisions

From QEMU
(Created page with '=Specification= The file format looks like this: +--------+--------------+---------+---------+-----+ | header | extent table | extent0 | extent1 | ... | +--------+----------…')
 
(Clarify that qed is deprecated)
 
(61 intermediate revisions by 9 users not shown)
Line 1: Line 1:
=Specification=
= Overview =


The file format looks like this:
QED was an attempt at creating a better performing image format by removing some features compared to qcow2. However, it turned out that the achieved performance improvements were mostly related to an improved implementation rather than the file format per se. These improvements, as well as a few format extensions, have been merged back into qcow2 since. The development of QED has been abandoned.


+--------+--------------+---------+---------+-----+
'''It is not recommended to use QED for any new images.''' For existing images, converting to qcow2 should be considered as today qcow2 provides both more features and better performance, and has an actively maintained code base.
| header | extent table | extent0 | extent1 | ... |
+--------+--------------+---------+---------+-----+


==Header==
QED supports backing files and sparse images.
Header {
    uint32_t magic;      /* COW2 */
    uint32_t chunk_size; /* in bytes */
    uint64_t max_chunks; /* total image size in bytes = max_chunks * chunks_size */
}


==Extent table==
= Status =


=Operations=
* '''QED is deprecated and only supported for compatibility with existing images''' (similar to qcow1)
* Base QED is in qemu.git since [http://git.qemu.org/qemu.git/commit/?id=75411d236d93d79d8052e0116c3eeebe23e2778b 2010-12-17] and will form part of QEMU 0.14.
* No additional features are planned to get merged
 
= Features =
 
* [[Features/QED/Specification|Open specification]]
* Fully asynchronous I/O path
* Strong data integrity due to simple design
* Backing files
** Backing files may be smaller than the QED image
* Sparse files
** Retains sparseness over non-sparse channels (e.g. HTTP)
* Zero clusters
* Periodic dirty flag flush
 
= Uncompleted work =
 
* [[Features/QED/OutstandingWork|Outstanding work]]
* [[Features/QED/Streaming|Streaming]]
* [[Features/QED/OnlineDefrag|Online defragmentation]]
* [[Features/QED/ParallelSubmission|Parallel submission]]
* [[Features/QED/ScanAvoidance|Meta-data scan avoidance]]
 
[[Category:Obsolete feature pages]]

Latest revision as of 14:42, 16 October 2017

Overview

QED was an attempt at creating a better performing image format by removing some features compared to qcow2. However, it turned out that the achieved performance improvements were mostly related to an improved implementation rather than the file format per se. These improvements, as well as a few format extensions, have been merged back into qcow2 since. The development of QED has been abandoned.

It is not recommended to use QED for any new images. For existing images, converting to qcow2 should be considered as today qcow2 provides both more features and better performance, and has an actively maintained code base.

QED supports backing files and sparse images.

Status

  • QED is deprecated and only supported for compatibility with existing images (similar to qcow1)
  • Base QED is in qemu.git since 2010-12-17 and will form part of QEMU 0.14.
  • No additional features are planned to get merged

Features

  • Open specification
  • Fully asynchronous I/O path
  • Strong data integrity due to simple design
  • Backing files
    • Backing files may be smaller than the QED image
  • Sparse files
    • Retains sparseness over non-sparse channels (e.g. HTTP)
  • Zero clusters
  • Periodic dirty flag flush

Uncompleted work