[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Qemu-devel] [PATCH v6 14/18] qcow2: Switch qcow2_measure() to byte-
From: |
Kevin Wolf |
Subject: |
Re: [Qemu-devel] [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
- Re: [Qemu-devel] [PATCH v6 14/18] qcow2: Switch qcow2_measure() to byte-based iteration,
Kevin Wolf <=