qemu-block
[Top][All Lists]
Advanced

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

Re: [Qemu-block] [PATCH v6 14/18] qcow2: Switch qcow2_measure() to byte-


From: Kevin Wolf
Subject: Re: [Qemu-block] [PATCH v6 14/18] qcow2: Switch qcow2_measure() to byte-based iteration
Date: Fri, 8 Sep 2017 15:15:18 +0200
User-agent: Mutt/1.8.3 (2017-05-23)

Am 30.08.2017 um 23:05 hat Eric Blake geschrieben:
> This is new code, but it is easier to read if it makes passes over
> the image using bytes rather than sectors (and will get easier in
> the future when bdrv_get_block_status is converted to byte-based).
> 
> Signed-off-by: Eric Blake <address@hidden>
> Reviewed-by: John Snow <address@hidden>
> 
> ---
> v6: separate bug fix to earlier patch
> v5: new patch
> ---
>  block/qcow2.c | 22 ++++++++++------------
>  1 file changed, 10 insertions(+), 12 deletions(-)
> 
> diff --git a/block/qcow2.c b/block/qcow2.c
> index 40ba26c111..57e3c5e7d5 100644
> --- a/block/qcow2.c
> +++ b/block/qcow2.c
> @@ -3666,20 +3666,19 @@ static BlockMeasureInfo *qcow2_measure(QemuOpts 
> *opts, BlockDriverState *in_bs,
>               */
>              required = virtual_size;
>          } else {
> -            int cluster_sectors = cluster_size / BDRV_SECTOR_SIZE;
> -            int64_t sector_num;
> +            int64_t offset;
>              int pnum = 0;
> 
> -            for (sector_num = 0;
> -                 sector_num < ssize / BDRV_SECTOR_SIZE;
> -                 sector_num += pnum) {
> -                int nb_sectors = MIN(ssize / BDRV_SECTOR_SIZE - sector_num,
> -                                     BDRV_REQUEST_MAX_SECTORS);
> +            for (offset = 0; offset < ssize;
> +                 offset += pnum * BDRV_SECTOR_SIZE) {
> +                int nb_sectors = MIN(ssize - offset,
> +                                     INT_MAX) / BDRV_SECTOR_SIZE;

Shouldn't this be BDRV_REQUEST_MAX_BYTES? (Which is close to INT_MAX,
but rounded down to sector alignment.)

Kevin



reply via email to

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