qemu-patch-raspberry4/block
Kevin Wolf 1ebf561c11 qcow2: Discard VM state in active L1 after creating snapshot
During savevm, the VM state is written to the active L1 of the image and
then a snapshot is taken. After that, the VM state isn't needed any more
in the active L1 and should be discarded. This is implemented by this
patch.

The impact of not discarding the VM state is that a snapshot can never
become smaller than any previous snapshot (because it would be padded
with old VM state), and more importantly that future savevm operations
cause unnecessary COWs (with associated flushes), which makes subsequent
snapshots much slower.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Max Reitz <mreitz@redhat.com>
2013-09-12 10:12:46 +02:00
..
backup.c block: make bdrv_co_is_allocated static 2013-09-06 15:25:08 +02:00
blkdebug.c qcow2-refcount: Repair shared refcount blocks 2013-09-02 10:06:59 +02:00
blkverify.c block: make bdrv_delete() static 2013-09-06 15:25:08 +02:00
bochs.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
cloop.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
commit.c block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above distinction 2013-09-06 15:25:09 +02:00
cow.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
curl.c curl: qemu_bh_new() can never return NULL 2013-09-01 19:11:56 +04:00
dmg.c block: Make find_image_format safe with NULL filename 2013-03-22 17:51:32 +01:00
gluster.c gluster: Abort on AIO completion failure 2013-08-30 15:28:52 +02:00
iscsi.c block: make bdrv_delete() static 2013-09-06 15:25:08 +02:00
linux-aio.c aio: drop io_flush argument 2013-08-19 15:52:19 +02:00
Makefile.objs switch raw block driver from "raw.o" to "raw_bsd.o" 2013-08-30 15:28:52 +02:00
mirror.c block: remove bdrv_is_allocated_above/bdrv_co_is_allocated_above distinction 2013-09-06 15:25:09 +02:00
nbd.c aio: drop io_flush argument 2013-08-19 15:52:19 +02:00
parallels.c block: Add options QDict to .bdrv_open() 2013-03-15 16:07:49 +01:00
qapi.c block: Add iops_size to do the iops accounting for a given io size. 2013-09-06 15:25:07 +02:00
qcow.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
qcow2-cache.c qcow2: Employ metadata overlap checks 2013-08-30 15:48:43 +02:00
qcow2-cluster.c qcow2: Pass discard type to qcow2_discard_clusters() 2013-09-12 10:12:46 +02:00
qcow2-refcount.c qcow2-refcount: Repair shared refcount blocks 2013-09-02 10:06:59 +02:00
qcow2-snapshot.c qcow2: Discard VM state in active L1 after creating snapshot 2013-09-12 10:12:46 +02:00
qcow2.c qcow2: Discard VM state in active L1 after creating snapshot 2013-09-12 10:12:46 +02:00
qcow2.h qcow2: Discard VM state in active L1 after creating snapshot 2013-09-12 10:12:46 +02:00
qed-check.c qed: mark image clean after repair succeeds 2012-08-10 10:25:12 +02:00
qed-cluster.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-gencb.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-l2-cache.c qed: do not evict in-use L2 table cache entries 2012-03-12 15:14:06 +01:00
qed-table.c misc: move include files to include/qemu/ 2012-12-19 08:32:39 +01:00
qed.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
qed.h block: move include files to include/block/ 2012-12-19 08:31:31 +01:00
raw-aio.h block: make discard asynchronous 2013-01-15 10:03:47 +01:00
raw-posix.c raw-posix: report unwritten extents as zero 2013-09-06 15:25:09 +02:00
raw-win32.c w32: Fix access to host devices (regression) 2013-09-06 15:25:08 +02:00
raw_bsd.c block: introduce bdrv_get_block_status API 2013-09-06 15:25:09 +02:00
rbd.c aio: drop io_flush argument 2013-08-19 15:52:19 +02:00
sheepdog.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
snapshot.c block: make bdrv_delete() static 2013-09-06 15:25:08 +02:00
ssh.c aio: drop io_flush argument 2013-08-19 15:52:19 +02:00
stream.c block: expect errors from bdrv_co_is_allocated 2013-09-06 15:25:09 +02:00
vdi.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
vhdx.c block: add read-only support to VHDX image format. 2013-05-03 10:31:58 +02:00
vhdx.h misc: Fix new typos in comments and strings 2013-07-27 11:22:54 +04:00
vmdk.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
vpc.c vpc: Implement .bdrv_has_zero_init 2013-06-28 10:21:00 +02:00
vvfat.c block: return get_block_status data and flags for formats 2013-09-06 15:25:09 +02:00
win32-aio.c win32-aio: drop win32_aio_flush_cb() 2013-08-22 22:05:04 +02:00