qed: add .bdrv_co_write_zeroes() support
authorStefan Hajnoczi <stefanha@linux.vnet.ibm.com>
Tue, 7 Feb 2012 13:27:28 +0000 (13:27 +0000)
committerKevin Wolf <kwolf@redhat.com>
Thu, 9 Feb 2012 15:17:50 +0000 (16:17 +0100)
commit0e71be1932adfad27d564675f89a468fc8b92b1f
tree38557d85c26ec854554dc1a7eef289823104347e
parent6e4f59bd0d69f0a7aa4010b49a5c49a01987b9d8
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>
block/qed.c
block/qed.h