mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2025-02-22 11:22:23 +00:00
libxl: avoid compiler warning
cc1: warnings being treated as errors libxl/libxl_driver.c: In function 'libxlDomainSetVcpusFlags': libxl/libxl_driver.c:1570:14: error: cast from function call of type 'double' to non-matching type 'unsigned int' [-Wbad-function-cast] libxl/libxl_driver.c:1578:15: error: cast from function call of type 'double' to non-matching type 'unsigned int' [-Wbad-function-cast] This was the only use of floor() and ceil(), and floating-point is overkill for power-of-two manipulations. * src/libxl/libxl_driver.c (libxlDomainSetVcpusFlags): Avoid -lm for trivial computations.
This commit is contained in:
parent
a7e80bde11
commit
3eb869a04b
@ -1567,15 +1567,14 @@ libxlDomainSetVcpusFlags(virDomainPtr dom, unsigned int nvcpus,
|
||||
if (!(def = virDomainObjGetPersistentDef(driver->caps, vm)))
|
||||
goto cleanup;
|
||||
|
||||
maplen = (unsigned int) ceil((double) nvcpus / 8);
|
||||
maplen = VIR_CPU_MAPLEN(nvcpus);
|
||||
if (VIR_ALLOC_N(bitmask, maplen) < 0) {
|
||||
virReportOOMError();
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
memset(bitmask, 0, maplen);
|
||||
for (i = 0; i < nvcpus; ++i) {
|
||||
pos = (unsigned int) floor((double) i / 8);
|
||||
pos = i / 8;
|
||||
bitmask[pos] |= 1 << (i % 8);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user