On 09/08/2017 08:15 AM, Kevin Wolf wrote: > 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 <ebl...@redhat.com> >> Reviewed-by: John Snow <js...@redhat.com> >>
>> - 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.) The division rounds down to sector alignment after the MIN(), for the same result in nb_sectors either way. But you are correct that an absolutely literal translation of the pre-patch version would feed BDRV_REQUEST_MAX_BYTES instead of INT_MAX into the MIN(). -- Eric Blake, Principal Software Engineer Red Hat, Inc. +1-919-301-3266 Virtualization: qemu.org | libvirt.org
signature.asc
Description: OpenPGP digital signature