qemu-e2k/block
Stefan Hajnoczi 0e71be1932 qed: add .bdrv_co_write_zeroes() support
Zero writes are a dedicated interface for writing regions of zeroes into
the image file.  If clusters are not yet allocated it is possible to use
an efficient metadata representation which keeps the image file compact
and does not store individual zero bytes.

Implementing this for the QED image format is fairly straightforward.
The only issue is that when a zero write touches an existing cluster we
have to allocate a bounce buffer and perform a regular write.

Signed-off-by: Stefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
2012-02-09 16:17:50 +01:00
..
blkdebug.c block: replace unchecked strdup/malloc/calloc with glib 2012-01-26 11:39:03 +01: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/cow: Return real error code 2011-12-15 12:40:33 +01:00
curl.c block: qemu_aio_get does not return NULL 2011-12-15 12:40:08 +01:00
dmg.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
iscsi.c iSCSI block driver 2011-10-28 19:25:48 +02:00
nbd.c nbd: add support for NBD_CMD_TRIM 2011-12-22 11:53:57 +01:00
parallels.c block: take lock around bdrv_read implementations 2011-10-21 17:34:14 +02:00
qcow.c qcow: Use bdrv functions to replace file operation 2012-01-26 14:49:18 +01:00
qcow2-cache.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qcow2-cluster.c qcow2: avoid reentrant bdrv_read() in copy_sectors() 2011-12-05 14:49:47 +01:00
qcow2-refcount.c qcow2: Fix order of refcount updates in qcow2_snapshot_goto 2011-12-05 14:51:36 +01:00
qcow2-snapshot.c qcow2: Allow >4 GB VM state 2011-12-15 12:40:33 +01:00
qcow2.c block/qcow2.c: call qcow2_free_snapshots in the function of qcow2_close 2011-12-15 12:40:08 +01:00
qcow2.h qcow2: Allow >4 GB VM state 2011-12-15 12:40:33 +01:00
qed-check.c Use glib memory allocation and free functions 2011-08-20 23:01:08 -05: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 Use glib memory allocation and free functions 2011-08-20 23:01:08 -05:00
qed-table.c block: bdrv_aio_* do not return NULL 2011-12-15 12:40:07 +01:00
qed.c qed: add .bdrv_co_write_zeroes() support 2012-02-09 16:17:50 +01:00
qed.h qed: add .bdrv_co_write_zeroes() support 2012-02-09 16:17:50 +01:00
raw-posix-aio.h prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
raw-posix.c fix spelling in block sub directory 2011-12-02 10:50:57 +00: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: Rename bdrv_co_flush to bdrv_co_flush_to_disk 2011-11-11 14:02:59 +01:00
rbd.c rbd: wire up snapshot removal and rollback functionality 2012-01-26 11:39:03 +01:00
sheepdog.c prepare for future GPLv2+ relicensing 2012-01-13 10:55:56 -06:00
stream.c block: add support for partial streaming 2012-01-26 14:49:18 +01:00
vdi.c block/vdi: Zero unused parts when allocating a new block (fix #919242) 2012-01-26 14:49:18 +01:00
vmdk.c block: convert qcow2, qcow2, and vmdk to .bdrv_co_is_allocated() 2011-12-05 14:51:37 +01:00
vpc.c vpc: Add missing error handling in alloc_block 2011-11-23 17:04:06 +01:00
vvfat.c vvfat: avoid leaking file descriptor in commit_one_file() 2012-01-13 10:36:59 +00:00