mirror of
https://gitlab.com/libvirt/libvirt.git
synced 2024-12-22 13:45:38 +00:00
rbd: fix 32-bit build
%zu is not always synonymous with uint64_t; on 32-bit machines, size_t is only 32 bits. Prefer "%lld"/'unsigned long long' when the variable is under our control, and "%"PRIu64 when we are stuck with 'uint64_t' from RBD. Fixes errors such as: ../../src/storage/storage_backend_rbd.c: In function 'virStorageBackendRBDVolWipe': ../../src/storage/storage_backend_rbd.c:1281:15: error: format '%zu' expects argument of type 'size_t', but argument 8 has type 'uint64_t {aka long long unsigned int}' [-Werror=format=] VIR_DEBUG("Need to wipe %zu bytes from RBD image %s/%s", ^ ../../src/util/virlog.h:90:73: note: in definition of macro 'VIR_DEBUG_INT' virLogMessage(src, VIR_LOG_DEBUG, filename, linenr, funcname, NULL, __VA_ARGS__) ^ ../../src/storage/storage_backend_rbd.c:1281:5: note: in expansion of macro 'VIR_DEBUG' VIR_DEBUG("Need to wipe %zu bytes from RBD image %s/%s", ^ Signed-off-by: Eric Blake <eblake@redhat.com>
This commit is contained in:
parent
c23bbfad6e
commit
5a5c2837c8
@ -23,6 +23,7 @@
|
||||
|
||||
#include <config.h>
|
||||
|
||||
#include <inttypes.h>
|
||||
#include "datatypes.h"
|
||||
#include "virerror.h"
|
||||
#include "storage_backend_rbd.h"
|
||||
@ -403,7 +404,7 @@ volStorageBackendRBDRefreshVolInfo(virStorageVolDefPtr vol,
|
||||
}
|
||||
|
||||
VIR_DEBUG("Refreshed RBD image %s/%s (capacity: %llu allocation: %llu "
|
||||
"obj_size: %zu num_objs: %zu)",
|
||||
"obj_size: %"PRIu64" num_objs: %"PRIu64")",
|
||||
pool->def->source.name, vol->name, vol->target.capacity,
|
||||
vol->target.allocation, info.obj_size, info.num_objs);
|
||||
|
||||
@ -463,7 +464,8 @@ virStorageBackendRBDRefreshPool(virConnectPtr conn,
|
||||
pool->def->available = clusterstat.kb_avail * 1024;
|
||||
pool->def->allocation = poolstat.num_bytes;
|
||||
|
||||
VIR_DEBUG("Utilization of RBD pool %s: (kb: %zu kb_avail: %zu num_bytes: %zu)",
|
||||
VIR_DEBUG("Utilization of RBD pool %s: (kb: %"PRIu64" kb_avail: %"PRIu64
|
||||
" num_bytes: %"PRIu64")",
|
||||
pool->def->source.name, clusterstat.kb, clusterstat.kb_avail,
|
||||
poolstat.num_bytes);
|
||||
|
||||
@ -1168,8 +1170,8 @@ virStorageBackendRBDVolWipeZero(rbd_image_t image,
|
||||
{
|
||||
int r = -1;
|
||||
int ret = -1;
|
||||
uint64_t offset = 0;
|
||||
uint64_t length;
|
||||
unsigned long long offset = 0;
|
||||
unsigned long long length;
|
||||
char *writebuf;
|
||||
|
||||
if (VIR_ALLOC_N(writebuf, info->obj_size * stripe_count) < 0)
|
||||
@ -1179,13 +1181,13 @@ virStorageBackendRBDVolWipeZero(rbd_image_t image,
|
||||
length = MIN((info->size - offset), (info->obj_size * stripe_count));
|
||||
|
||||
if ((r = rbd_write(image, offset, length, writebuf)) < 0) {
|
||||
virReportSystemError(-r, _("writing %zu bytes failed on "
|
||||
"RBD image %s at offset %zu"),
|
||||
virReportSystemError(-r, _("writing %llu bytes failed on "
|
||||
"RBD image %s at offset %llu"),
|
||||
length, imgname, offset);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
VIR_DEBUG("Wrote %zu bytes to RBD image %s at offset %zu",
|
||||
VIR_DEBUG("Wrote %llu bytes to RBD image %s at offset %llu",
|
||||
length, imgname, offset);
|
||||
|
||||
offset += length;
|
||||
@ -1207,8 +1209,8 @@ virStorageBackendRBDVolWipeDiscard(rbd_image_t image,
|
||||
{
|
||||
int r = -1;
|
||||
int ret = -1;
|
||||
uint64_t offset = 0;
|
||||
uint64_t length;
|
||||
unsigned long long offset = 0;
|
||||
unsigned long long length;
|
||||
|
||||
VIR_DEBUG("Wiping RBD %s volume using discard)", imgname);
|
||||
|
||||
@ -1216,13 +1218,13 @@ virStorageBackendRBDVolWipeDiscard(rbd_image_t image,
|
||||
length = MIN((info->size - offset), (info->obj_size * stripe_count));
|
||||
|
||||
if ((r = rbd_discard(image, offset, length)) < 0) {
|
||||
virReportSystemError(-r, _("discarding %zu bytes failed on "
|
||||
"RBD image %s at offset %zu"),
|
||||
virReportSystemError(-r, _("discarding %llu bytes failed on "
|
||||
"RBD image %s at offset %llu"),
|
||||
length, imgname, offset);
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
VIR_DEBUG("Discarded %zu bytes of RBD image %s at offset %zu",
|
||||
VIR_DEBUG("Discarded %llu bytes of RBD image %s at offset %llu",
|
||||
length, imgname, offset);
|
||||
|
||||
offset += length;
|
||||
@ -1278,7 +1280,7 @@ virStorageBackendRBDVolWipe(virConnectPtr conn,
|
||||
goto cleanup;
|
||||
}
|
||||
|
||||
VIR_DEBUG("Need to wipe %zu bytes from RBD image %s/%s",
|
||||
VIR_DEBUG("Need to wipe %"PRIu64" bytes from RBD image %s/%s",
|
||||
info.size, pool->def->source.name, vol->name);
|
||||
|
||||
switch ((virStorageVolWipeAlgorithm) algorithm) {
|
||||
|
Loading…
Reference in New Issue
Block a user