[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v3 2/6] block: add .bdrv_co_write_zeroes() inter
From: |
Christoph Hellwig |
Subject: |
Re: [Qemu-devel] [PATCH v3 2/6] block: add .bdrv_co_write_zeroes() interface |
Date: |
Wed, 21 Dec 2011 17:50:32 +0100 |
User-agent: |
Mutt/1.5.17 (2007-11-01) |
On Wed, Dec 21, 2011 at 04:00:36PM +0000, Stefan Hajnoczi wrote:
> The ability to zero regions of an image file is a useful primitive for
> higher-level features such as image streaming or zero write detection.
>
> Image formats may support an optimized metadata representation instead
> of writing zeroes into the image file. This allows zero writes to be
> potentially faster than regular write operations and also preserve
> sparseness of the image file.
>
> The .bdrv_co_write_zeroes() interface should be implemented by block
> drivers that wish to provide efficient zeroing.
>
> Note that this operation is different from the discard operation, which
> may leave the contents of the region indeterminate. That means
> discarded blocks are not guaranteed to contain zeroes and may contain
> junk data instead.
Most real life discard operations zero the data, and both the ATA and SCSI
spec allow the device to set a bit which gurantees this behaviour. I think
we also should make these one interface, and if the caller needs it to
actually zero out the discarded blocks it should check if the discard
implementation guarantees that.
- [Qemu-devel] [PATCH v3 0/6] block: zero writes, Stefan Hajnoczi, 2011/12/21
- [Qemu-devel] [PATCH v3 1/6] cutils: extract buffer_is_zero() from qemu-img.c, Stefan Hajnoczi, 2011/12/21
- [Qemu-devel] [PATCH v3 3/6] block: perform zero-detection during copy-on-read, Stefan Hajnoczi, 2011/12/21
- [Qemu-devel] [PATCH v3 4/6] qed: replace is_write with flags field, Stefan Hajnoczi, 2011/12/21
- [Qemu-devel] [PATCH v3 2/6] block: add .bdrv_co_write_zeroes() interface, Stefan Hajnoczi, 2011/12/21
- Re: [Qemu-devel] [PATCH v3 2/6] block: add .bdrv_co_write_zeroes() interface,
Christoph Hellwig <=
- [Qemu-devel] [PATCH v3 5/6] qed: add .bdrv_co_write_zeroes() support, Stefan Hajnoczi, 2011/12/21
- [Qemu-devel] [PATCH v3 6/6] qemu-io: add write -z option for bdrv_co_write_zeroes, Stefan Hajnoczi, 2011/12/21
- Re: [Qemu-devel] [PATCH v3 0/6] block: zero writes, Stefan Hajnoczi, 2011/12/21