mirror_qemu/block
Stefan Hajnoczi 72893756e0 qcow2: Support exact L1 table growth
The L1 table grow operation includes a size calculation that bumps up
the new L1 table size in order to anticipate the size needs of vmstate
data.  This helps reduce the number of times that the L1 table has to be
grown when vmstate data is appended.

This size overhead is not necessary during image creation,
bdrv_truncate(), or snapshot goto operations.  In fact, existing
qemu-iotests that exercise table growth are no longer able to trigger it
because image creation preallocates an L1 table that is too large after
changes to qcow_create2().

This patch keeps the size calculation but also adds exact growth for
callers that do not want to inflate the L1 table size unnecessarily.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2010-10-22 14:49:35 +02:00
..
blkdebug.c blkdebug: fix enum comparison 2010-09-18 05:53:15 +00:00
blkverify.c block-verify: fix 32-bit build 2010-09-22 14:46:33 -05:00
bochs.c bochs: use qemu block API 2010-05-17 10:20:05 +02:00
cloop.c cloop: use qemu block API 2010-05-17 10:20:04 +02:00
cow.c cow: Use bdrv_(p)write_sync for metadata writes 2010-06-22 14:38:02 +02:00
curl.c Fix %lld or %llx printf format use 2010-05-22 08:02:12 +00:00
dmg.c dmg: use qemu block API 2010-05-17 10:20:05 +02:00
nbd.c nbd: correctly manage default port 2010-09-21 15:39:42 +02:00
parallels.c parallels: use qemu block API 2010-05-17 10:20:05 +02:00
qcow.c qcow: Use bdrv_(p)write_sync for metadata writes 2010-06-22 14:38:02 +02:00
qcow2-cluster.c qcow2: Support exact L1 table growth 2010-10-22 14:49:35 +02:00
qcow2-refcount.c block: avoid a write only variable 2010-10-13 18:38:07 +00:00
qcow2-snapshot.c qcow2: Support exact L1 table growth 2010-10-22 14:49:35 +02:00
qcow2.c qcow2: Support exact L1 table growth 2010-10-22 14:49:35 +02:00
qcow2.h qcow2: Support exact L1 table growth 2010-10-22 14:49:35 +02:00
raw-posix-aio.h Remove aio_ctx from paio_* interface 2009-10-30 08:39:34 -05:00
raw-posix.c raw-posix: handle > 512 byte alignment correctly 2010-09-21 15:39:42 +02:00
raw-win32.c block: Fix bdrv_has_zero_init 2010-08-03 15:57:22 +02:00
raw.c Revert "Make default invocation of block drivers safer (v3)" 2010-09-08 17:09:15 -05:00
sheepdog.c sheepdog: remove unnecessary includes 2010-08-30 18:29:22 +02:00
vdi.c qcow2/vdi: Change check to distinguish error cases 2010-07-06 17:05:49 +02:00
vmdk.c vmdk: Use bdrv_(p)write_sync for metadata writes 2010-06-22 14:38:02 +02:00
vpc.c vpc: Use bdrv_(p)write_sync for metadata writes 2010-06-22 14:38:02 +02:00
vvfat.c block/vvfat: Fix compiler warning in debug code 2010-10-03 06:40:54 +00:00