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