On Wed, Apr 24, 2013 at 08:44:35PM +0800, Fam Zheng wrote:
> @@ -905,6 +905,13 @@ static int get_cluster_offset(BlockDriverState *bs,
> l2_index = ((offset >> 9) / extent->cluster_sectors) % extent->l2_size;
> *cluster_offset = le32_to_cpu(l2_table[l2_index]);
>
> +if (m_data) {
> +
Use special offset to write zeroes efficiently, when zeroed-grain GTE is
available. If zero-write an allocated cluster, cluster is leaked because
its offset pointer is overwritten by "0x1".
Signed-off-by: Fam Zheng
---
block/vmdk.c | 77 +--