[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-block] [Qemu-devel] [PATCH] block: Simplify BDRV_BLOCK_RAW rec
From: |
Fam Zheng |
Subject: |
Re: [Qemu-block] [Qemu-devel] [PATCH] block: Simplify BDRV_BLOCK_RAW recursion |
Date: |
Tue, 9 May 2017 16:14:09 +0800 |
User-agent: |
Mutt/1.8.0 (2017-02-23) |
On Thu, 05/04 12:37, Eric Blake wrote:
> Since we are already in coroutine context during the body of
> bdrv_co_get_block_status(), we can shave off a few layers of
> wrappers when recursing to query the protocol when a format driver
> returned BDRV_BLOCK_RAW.
>
> Note that we are already using the correct recursion later on in
> the same function, when probing whether the protocol layer is sparse
> in order to find out if we can add BDRV_BLOCK_ZERO to an existing
> BDRV_BLOCK_DATA|BDRV_BLOCK_OFFSET_VALID.
>
> Signed-off-by: Eric Blake <address@hidden>
> ---
> block/io.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/block/io.c b/block/io.c
> index 40bd94f..fdd7485 100644
> --- a/block/io.c
> +++ b/block/io.c
> @@ -1784,8 +1784,8 @@ static int64_t coroutine_fn
> bdrv_co_get_block_status(BlockDriverState *bs,
>
> if (ret & BDRV_BLOCK_RAW) {
> assert(ret & BDRV_BLOCK_OFFSET_VALID);
> - ret = bdrv_get_block_status(*file, ret >> BDRV_SECTOR_BITS,
> - *pnum, pnum, file);
> + ret = bdrv_co_get_block_status(*file, ret >> BDRV_SECTOR_BITS,
> + *pnum, pnum, file);
> goto out;
> }
>
> --
> 2.9.3
>
>
Reviewed-by: Fam Zheng <address@hidden>