diff options
author | Kevin Wolf <kwolf@redhat.com> | 2009-08-17 15:50:10 +0200 |
---|---|---|
committer | Anthony Liguori <aliguori@us.ibm.com> | 2009-08-27 20:30:20 -0500 |
commit | a35e1c177debb01240243bd656caca302410d38c (patch) | |
tree | d19ebe06710980ee4847e294947a4e079bb75b21 /block_int.h | |
parent | e8935eefe56070a37ece62e2d7f8e45c6c9356da (diff) | |
download | qemu-a35e1c177debb01240243bd656caca302410d38c.tar.gz qemu-a35e1c177debb01240243bd656caca302410d38c.tar.bz2 qemu-a35e1c177debb01240243bd656caca302410d38c.zip |
qcow2: Metadata preallocation
This introduces a qemu-img create option for qcow2 which allows the metadata to
be preallocated, i.e. clusters are reserved in the refcount table and L1/L2
tables, but no data is written to them. Metadata is quite small, so this
happens in almost no time.
Especially with qcow2 on virtio this helps to gain a bit of performance during
the initial writes. However, as soon as create a snapshot, we're back to the
normal slow speed, obviously. So this isn't the real fix, but kind of a cheat
while we're still having trouble with qcow2 on virtio.
Note that the option is disabled by default and needs to be specified
explicitly using qemu-img create -f qcow2 -o preallocation=metadata.
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
Diffstat (limited to 'block_int.h')
-rw-r--r-- | block_int.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/block_int.h b/block_int.h index 8898d91f42..0902fd4733 100644 --- a/block_int.h +++ b/block_int.h @@ -37,6 +37,7 @@ #define BLOCK_OPT_BACKING_FILE "backing_file" #define BLOCK_OPT_BACKING_FMT "backing_fmt" #define BLOCK_OPT_CLUSTER_SIZE "cluster_size" +#define BLOCK_OPT_PREALLOC "preallocation" typedef struct AIOPool { void (*cancel)(BlockDriverAIOCB *acb); |