qemu/block
Kevin Wolf 35d7ace74b qcow2: Fix L1 table size after bdrv_snapshot_goto
When loading an internal snapshot whose L1 table is smaller than the current L1
table, the size of the current L1 would be shrunk to the snapshot's L1 size in
memory, but not on disk. This lead to incorrect refcount updates and eventuelly
to image corruption.

Instead of writing the new L1 size to disk, this simply retains the bigger L1
size that is currently in use and makes sure that the unused part is zeroed.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Tested-by: Philipp Hahn <hahn@univention.de>
Signed-off-by: Anthony Liguori <aliguori@us.ibm.com>
2011-08-05 07:15:47 -05:00
..
blkdebug.c block: Allow bdrv_flush to return errors 2010-11-04 12:52:16 +01:00
blkverify.c block: avoid a warning on 64 bit hosts with long as int64_t 2010-11-04 13:54:37 +01: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 block: Allow bdrv_flush to return errors 2010-11-04 12:52:16 +01: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: Avoid leaking a couple of strings when the NBD device is closed 2011-05-03 11:29:21 +02:00
parallels.c parallels: use qemu block API 2010-05-17 10:20:05 +02:00
qcow.c qcow: Use coroutines 2011-08-02 15:53:41 +02:00
qcow2-cache.c qcow2: Use Qcow2Cache in writeback mode during loadvm/savevm 2011-07-19 15:39:22 +02:00
qcow2-cluster.c qcow2: Use coroutines 2011-08-02 15:53:41 +02:00
qcow2-refcount.c qcow2: Use Qcow2Cache in writeback mode during loadvm/savevm 2011-07-19 15:39:22 +02:00
qcow2-snapshot.c qcow2: Fix L1 table size after bdrv_snapshot_goto 2011-08-05 07:15:47 -05:00
qcow2.c qcow2: Use coroutines 2011-08-02 15:53:41 +02:00
qcow2.h qcow2: Use coroutines 2011-08-02 15:53:41 +02:00
qed-check.c qed: Fix consistency check on 32-bit hosts 2011-04-27 16:21:00 +02:00
qed-cluster.c qed: Add support for zero clusters 2011-04-13 12:06:41 +02:00
qed-gencb.c qed: Table, L2 cache, and cluster functions 2010-12-17 16:11:04 +01:00
qed-l2-cache.c qed: Table, L2 cache, and cluster functions 2010-12-17 16:11:04 +01:00
qed-table.c async: Remove AsyncContext 2011-08-02 15:53:41 +02:00
qed.c async: Remove AsyncContext 2011-08-02 15:53:41 +02:00
qed.h qed: Periodically flush and clear need check bit 2011-05-18 14:38:46 +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: Always check paio_init result 2011-08-01 12:10:29 +02:00
raw-win32.c block/raw-win32: Drop disabled code for removable host devices 2011-08-01 12:10:28 +02:00
raw.c block: Make BlockDriver method bdrv_eject() return void 2011-08-01 12:10:28 +02:00
rbd.c block/rbd: Remove unused local variable 2011-06-14 10:01:19 +02:00
sheepdog.c Wrap recv to avoid warnings 2011-07-25 14:38:56 +00:00
vdi.c vdi: Avoid direct AIO callback 2011-06-15 14:35:15 +02:00
vmdk.c block: add bdrv_get_allocated_file_size() operation 2011-07-19 15:39:08 +02:00
vpc.c block/vpc.c: Detect too-large vpc file 2011-08-01 12:10:28 +02:00
vvfat.c vvfat: fix a file descriptor leak 2011-01-12 19:48:58 +00:00