[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PULL 12/15] migration/block: rename BLOCK_SIZE macro
From: |
Peter Maydell |
Subject: |
Re: [PULL 12/15] migration/block: rename BLOCK_SIZE macro |
Date: |
Thu, 12 May 2022 17:22:24 +0100 |
On Fri, 28 Feb 2020 at 09:30, Juan Quintela <quintela@redhat.com> wrote:
>
> From: Stefan Hajnoczi <stefanha@redhat.com>
>
> Both <linux/fs.h> and <sys/mount.h> define BLOCK_SIZE macros. Avoiding
> using that name in block/migration.c.
>
> I noticed this when including <liburing.h> (Linux io_uring) from
> "block/aio.h" and compilation failed. Although patches adding that
> include haven't been sent yet, it makes sense to rename the macro now in
> case someone else stumbles on it in the meantime.
A rather old change, and it didn't even introduce the code that
Coverity is complaining about, but this seems as good a point as
any to hang the email off of...
BLK_MIG_BLOCK_SIZE doesn't have a ULL suffix, so it's 32 bits,
and so Coverity complains about places where we multiply some
block count by it and then use that in a 64-bit result, eg here:
> @@ -770,7 +771,7 @@ static int block_save_iterate(QEMUFile *f, void *opaque)
>
> /* control the rate of transfer */
> blk_mig_lock();
> - while (block_mig_state.read_done * BLOCK_SIZE <
> + while (block_mig_state.read_done * BLK_MIG_BLOCK_SIZE <
> qemu_file_get_rate_limit(f) &&
> block_mig_state.submitted < MAX_PARALLEL_IO &&
> (block_mig_state.submitted + block_mig_state.read_done) <
and here:
> @@ -874,13 +875,13 @@ static void block_save_pending(QEMUFile *f, void
> *opaque, uint64_t max_size,
> qemu_mutex_unlock_iothread();
>
> blk_mig_lock();
> - pending += block_mig_state.submitted * BLOCK_SIZE +
> - block_mig_state.read_done * BLOCK_SIZE;
> + pending += block_mig_state.submitted * BLK_MIG_BLOCK_SIZE +
> + block_mig_state.read_done * BLK_MIG_BLOCK_SIZE;
> blk_mig_unlock();
Putting a suitable cast to ensure the multiply is done at
64 bits would satisfy Coverity.
This is CID 1487136, 1487175.
thanks
-- PMM
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- Re: [PULL 12/15] migration/block: rename BLOCK_SIZE macro,
Peter Maydell <=