qemu/block
Kevin Wolf b0b6862e5e qcow2: Fail write_compressed when overwriting data
qcow2_alloc_compressed_cluster_offset() already fails if the copied flag
is set, because qcow2_write_compressed() doesn't perform COW as it would
have to do to allow this.

However, what we really want to check here is whether the cluster is
allocated or not. With internal snapshots the copied flag may not be set
on allocated clusters. Check the cluster offset instead.

Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-04-20 15:57:27 +02:00
..
blkdebug.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
blkverify.c block: replace unchecked strdup/malloc/calloc with glib 2012-01-26 11:39:03 +01:00
bochs.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
cloop.c block/cloop: Use g_free instead of free 2011-11-04 14:24:12 +01:00
cow.c block: Fix spelling in comment (ineffcient -> inefficient) 2012-04-19 15:48:52 +02:00
curl.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
dmg.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
iscsi.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
nbd.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
parallels.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
qcow2-cache.c qcow2: Add some tracing 2012-03-12 15:14:06 +01:00
qcow2-cluster.c qcow2: Fail write_compressed when overwriting data 2012-04-20 15:57:27 +02:00
qcow2-refcount.c qcow2: Fix refcount block allocation during qcow2_alloc_cluster_at() 2012-04-20 15:56:19 +02:00
qcow2-snapshot.c qcow2: Save disk size in snapshot header 2012-04-20 15:57:27 +02:00
qcow2.c qcow2: Ignore reserved bits in get_cluster_offset 2012-04-20 15:57:27 +02:00
qcow2.h qcow2: Ignore reserved bits in get_cluster_offset 2012-04-20 15:57:27 +02:00
qcow.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
qed-check.c qed: image fragmentation statistics 2012-04-05 14:54:40 +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 block: bdrv_aio_* do not return NULL 2011-12-15 12:40:07 +01:00
qed.c qed: remove incoming live migration blocker 2012-04-05 16:29:12 +02:00
qed.h qed: remove incoming live migration blocker 2012-04-05 16:29:12 +02:00
raw-posix-aio.h prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
raw-posix.c block: bdrv_eject(): Make eject_flag a real bool 2012-02-22 17:23:05 -02:00
raw-win32.c block: Rename bdrv_co_flush to bdrv_co_flush_to_disk 2011-11-11 14:02:59 +01:00
raw.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
rbd.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
sheepdog.c aio: remove process_queue callback and qemu_aio_process_queue 2012-04-19 16:37:53 +02:00
stream.c block stream: close unused files and update ->backing_hd 2012-04-05 15:11:37 +02:00
vdi.c vdi: change goto to loop 2012-04-05 14:54:40 +02:00
vmdk.c block: push recursive flushing up from drivers 2012-04-05 14:54:39 +02:00
vpc.c block/vpc: write checksum back to footer after check 2012-04-05 14:54:40 +02:00
vvfat.c vvfat: avoid leaking file descriptor in commit_one_file() 2012-01-13 10:36:59 +00:00