[libvirt] [PATCH] build: really silence the 32-bit warning

Stefan Berger stefanb at linux.vnet.ibm.com
Mon May 14 16:42:33 UTC 2012


On 05/14/2012 11:05 AM, Eric Blake wrote:
> Commit cdce2f42d tried to silence a compiler warning on 32-bit builds,
> but the gcc shipped with RHEL 5 is old enough that the type conversion
> via multiplication by 1 was insufficient for the task.
>
> * src/qemu/qemu_monitor.c (qemuMonitorBlockJob): Previous attempt
> didn't get past all gcc versions.
> ---
>
> Pushing under the build-breaker rule.
>
>   src/qemu/qemu_monitor.c |    5 +++--
>   1 files changed, 3 insertions(+), 2 deletions(-)
>
> diff --git a/src/qemu/qemu_monitor.c b/src/qemu/qemu_monitor.c
> index 0d4319d..7d69c67 100644
> --- a/src/qemu/qemu_monitor.c
> +++ b/src/qemu/qemu_monitor.c
> @@ -2785,13 +2785,14 @@ int qemuMonitorBlockJob(qemuMonitorPtr mon,
>                 modern);
>
>       /* Convert bandwidth MiB to bytes */
> -    if (bandwidth * 1ULL>  ULLONG_MAX / 1024 / 1024) {
> +    speed = bandwidth;
> +    if (speed>  ULLONG_MAX / 1024 / 1024) {
>           qemuReportError(VIR_ERR_OVERFLOW,
>                           _("bandwidth must be less than %llu"),
>                           ULLONG_MAX / 1024 / 1024);
>           return -1;
>       }
> -    speed = bandwidth * 1024ULL * 1024ULL;
> +    speed<<= 20;
>
>       if (mon->json)
>           ret = qemuMonitorJSONBlockJob(mon, device, base, speed, info, mode,
ACK




More information about the libvir-list mailing list