mirror of
https://github.com/Motorhead1991/qemu.git
synced 2025-08-09 18:44:58 -06:00
qcow2: implement lazy refcounts
Lazy refcounts is a performance optimization for qcow2 that postpones refcount metadata updates and instead marks the image dirty. In the case of crash or power failure the image will be left in a dirty state and repaired next time it is opened. Reducing metadata I/O is important for cache=writethrough and cache=directsync because these modes guarantee that data is on disk after each write (hence we cannot take advantage of caching updates in RAM). Refcount metadata is not needed for guest->file block address translation and therefore does not need to be on-disk at the time of write completion - this is the motivation behind the lazy refcount optimization. The lazy refcount optimization must be enabled at image creation time: qemu-img create -f qcow2 -o compat=1.1,lazy_refcounts=on a.qcow2 10G qemu-system-x86_64 -drive if=virtio,file=a.qcow2,cache=writethrough Update qemu-iotests 031 and 036 since the extension header size changes when we add feature bit table entries. Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
parent
91cf8a35e7
commit
bfe8043e92
6 changed files with 107 additions and 24 deletions
|
@ -54,7 +54,7 @@ header_length 72
|
|||
|
||||
Header extension:
|
||||
magic 0x6803f857
|
||||
length 48
|
||||
length 96
|
||||
data <binary>
|
||||
|
||||
Header extension:
|
||||
|
@ -68,7 +68,7 @@ No errors were found on the image.
|
|||
|
||||
magic 0x514649fb
|
||||
version 2
|
||||
backing_file_offset 0xc8
|
||||
backing_file_offset 0xf8
|
||||
backing_file_size 0x17
|
||||
cluster_bits 16
|
||||
size 67108864
|
||||
|
@ -92,7 +92,7 @@ data 'host_device'
|
|||
|
||||
Header extension:
|
||||
magic 0x6803f857
|
||||
length 48
|
||||
length 96
|
||||
data <binary>
|
||||
|
||||
Header extension:
|
||||
|
@ -155,7 +155,7 @@ header_length 104
|
|||
|
||||
Header extension:
|
||||
magic 0x6803f857
|
||||
length 48
|
||||
length 96
|
||||
data <binary>
|
||||
|
||||
Header extension:
|
||||
|
@ -169,7 +169,7 @@ No errors were found on the image.
|
|||
|
||||
magic 0x514649fb
|
||||
version 3
|
||||
backing_file_offset 0xe8
|
||||
backing_file_offset 0x118
|
||||
backing_file_size 0x17
|
||||
cluster_bits 16
|
||||
size 67108864
|
||||
|
@ -193,7 +193,7 @@ data 'host_device'
|
|||
|
||||
Header extension:
|
||||
magic 0x6803f857
|
||||
length 48
|
||||
length 96
|
||||
data <binary>
|
||||
|
||||
Header extension:
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue