diff options
author | Kevin Wolf <kwolf@redhat.com> | 2014-02-07 16:00:09 +0100 |
---|---|---|
committer | Kevin Wolf <kwolf@redhat.com> | 2014-02-09 09:12:39 +0100 |
commit | 5f5bcd80f8c365bca1480dc39141952fa7f88c71 (patch) | |
tree | c14c2700bb93c87b2ec03e47d6d1acc17e57a3ce | |
parent | af91f9a73c3a67eebbf4120cae62b82db8eaae19 (diff) |
block: Don't call ROUND_UP with negative values
The behaviour of the ROUND_UP macro with negative numbers isn't obvious.
It happens to do the right thing in this please, but better avoid it.
Suggested-by: Laszlo Ersek <lersek@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
Reviewed-by: Eric Blake <eblake@redhat.com>
Reviewed-by: Laszlo Ersek <lersek@redhat.com>
-rw-r--r-- | block.c | 4 |
1 files changed, 2 insertions, 2 deletions
@@ -2915,8 +2915,8 @@ static int coroutine_fn bdrv_aligned_preadv(BlockDriverState *bs, } total_sectors = DIV_ROUND_UP(len, BDRV_SECTOR_SIZE); - max_nb_sectors = MAX(0, ROUND_UP(total_sectors - sector_num, - align >> BDRV_SECTOR_BITS)); + max_nb_sectors = ROUND_UP(MAX(0, total_sectors - sector_num), + align >> BDRV_SECTOR_BITS); if (max_nb_sectors > 0) { ret = drv->bdrv_co_readv(bs, sector_num, MIN(nb_sectors, max_nb_sectors), qiov); |