qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v2 3/4] block/null-{co, aio}: Implement get_bloc


From: Fam Zheng
Subject: Re: [Qemu-block] [PATCH v2 3/4] block/null-{co, aio}: Implement get_block_status()
Date: Fri, 25 Mar 2016 10:02:55 +0800
User-agent: Mutt/1.5.21 (2010-09-15)

On Thu, 03/24 23:33, Max Reitz wrote:
> Signed-off-by: Max Reitz <address@hidden>
> ---
>  block/null.c | 22 ++++++++++++++++++++++
>  1 file changed, 22 insertions(+)
> 
> diff --git a/block/null.c b/block/null.c
> index a7df386..f4b3bba 100644
> --- a/block/null.c
> +++ b/block/null.c
> @@ -204,6 +204,24 @@ static int null_reopen_prepare(BDRVReopenState 
> *reopen_state,
>      return 0;
>  }
>  
> +static int64_t coroutine_fn null_co_get_block_status(BlockDriverState *bs,
> +                                                     int64_t sector_num,
> +                                                     int nb_sectors, int 
> *pnum,
> +                                                     BlockDriverState **file)
> +{
> +    BDRVNullState *s = bs->opaque;
> +    off_t start = sector_num * BDRV_SECTOR_SIZE;
> +
> +    *pnum = nb_sectors;
> +    *file = bs;
> +
> +    if (s->read_zeroes) {
> +        return BDRV_BLOCK_OFFSET_VALID | start | BDRV_BLOCK_ZERO;
> +    } else {
> +        return BDRV_BLOCK_OFFSET_VALID | start;
> +    }
> +}
> +
>  static BlockDriver bdrv_null_co = {
>      .format_name            = "null-co",
>      .protocol_name          = "null-co",
> @@ -217,6 +235,8 @@ static BlockDriver bdrv_null_co = {
>      .bdrv_co_writev         = null_co_writev,
>      .bdrv_co_flush_to_disk  = null_co_flush,
>      .bdrv_reopen_prepare    = null_reopen_prepare,
> +
> +    .bdrv_co_get_block_status   = null_co_get_block_status,
>  };
>  
>  static BlockDriver bdrv_null_aio = {
> @@ -232,6 +252,8 @@ static BlockDriver bdrv_null_aio = {
>      .bdrv_aio_writev        = null_aio_writev,
>      .bdrv_aio_flush         = null_aio_flush,
>      .bdrv_reopen_prepare    = null_reopen_prepare,
> +
> +    .bdrv_co_get_block_status   = null_co_get_block_status,
>  };
>  
>  static void bdrv_null_init(void)
> -- 
> 2.7.4
> 

Acked-by: Fam Zheng <address@hidden>



reply via email to

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