qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCHv3 13/20] block: introduce bdrv_zeroize


From: Stefan Hajnoczi
Subject: Re: [Qemu-devel] [PATCHv3 13/20] block: introduce bdrv_zeroize
Date: Mon, 7 Oct 2013 10:34:15 +0200
User-agent: Mutt/1.5.21 (2010-09-15)

On Tue, Sep 24, 2013 at 03:35:07PM +0200, Peter Lieven wrote:
> this patch adds a call to completely zero out a block device.
> the operation is sped up by checking the block status and
> only writing zeroes to the device if they currently do not
> return zeroes. optionally the zero writing can be sped up
> by setting the flag BDRV_REQ_MAY_UNMAP to emulate the zero
> write by unmapping if the driver supports it.
> 
> Signed-off-by: Peter Lieven <address@hidden>
> ---
>  block.c               |   37 +++++++++++++++++++++++++++++++++++++
>  include/block/block.h |    1 +
>  2 files changed, 38 insertions(+)
> 
> diff --git a/block.c b/block.c
> index 784e545..66b9eae 100644
> --- a/block.c
> +++ b/block.c
> @@ -2398,6 +2398,43 @@ int bdrv_write_zeroes(BlockDriverState *bs, int64_t 
> sector_num,
>                        BDRV_REQ_ZERO_WRITE | flags);
>  }
>  
> +/*
> + * Completely zero out a block device with the help of bdrv_write_zeroes.
> + * The operation is sped up by checking the block status and only writing
> + * zeroes to the device if they currently do not return zeroes. Optional
> + * flags are passed through to bdrv_write_zeroes (e.g. BDRV_REQ_MAY_UNMAP).
> + *
> + * Returns < 0 on error, 0 on success. For error codes see bdrv_write().
> + */
> +int bdrv_zeroize(BlockDriverState *bs, BdrvRequestFlags flags)

BlockDriver->bdrv_make_empty() implements zeroing the entire disk for
image formats.  Please extend that function prototype instead of adding
a new interface.

Stefan



reply via email to

[Prev in Thread] Current Thread [Next in Thread]