From: Josh Durgin Date: Mon, 3 Jun 2013 22:57:23 +0000 (-0700) Subject: test_librbd: use correct type for varargs snap test X-Git-Tag: v0.61.3~2 X-Git-Url: http://git-server-git.apps.pok.os.sepia.ceph.com/?a=commitdiff_plain;h=8544ea751884617616addc17b4467b9a86bd9d8a;p=ceph.git test_librbd: use correct type for varargs snap test uint64_t is passed in, but int was extracted. This fails on 32-bit builds. Fixes: #5220 Signed-off-by: Josh Durgin (cherry picked from commit 17029b270dee386e12e5f42c2494a5feffd49b08) --- diff --git a/src/test/librbd/test_librbd.cc b/src/test/librbd/test_librbd.cc index 0094d650440..606cad32e9f 100644 --- a/src/test/librbd/test_librbd.cc +++ b/src/test/librbd/test_librbd.cc @@ -430,10 +430,11 @@ TEST(LibRBD, TestCopyPP) int test_ls_snaps(rbd_image_t image, int num_expected, ...) { rbd_snap_info_t *snaps; - int num_snaps, i, j, expected_size, max_size = 10; + int num_snaps, i, j, max_size = 10; + uint64_t expected_size; char *expected; va_list ap; - snaps = (rbd_snap_info_t *) malloc(sizeof(rbd_snap_info_t *) * 10); + snaps = (rbd_snap_info_t *) malloc(sizeof(rbd_snap_info_t *) * max_size); num_snaps = rbd_snap_list(image, snaps, &max_size); printf("num snaps is: %d\nexpected: %d\n", num_snaps, num_expected); @@ -444,14 +445,14 @@ int test_ls_snaps(rbd_image_t image, int num_expected, ...) va_start(ap, num_expected); for (i = num_expected; i > 0; i--) { expected = va_arg(ap, char *); - expected_size = va_arg(ap, int); + expected_size = va_arg(ap, uint64_t); int found = 0; for (j = 0; j < num_snaps; j++) { if (snaps[j].name == NULL) continue; if (strcmp(snaps[j].name, expected) == 0) { printf("found %s with size %llu\n", snaps[j].name, (unsigned long long) snaps[j].size); - assert((int)snaps[j].size == expected_size); + assert(snaps[j].size == expected_size); free((void *) snaps[j].name); snaps[j].name = NULL; found = 1; @@ -506,7 +507,8 @@ TEST(LibRBD, TestCreateLsDeleteSnap) int test_ls_snaps(librbd::Image& image, size_t num_expected, ...) { int r; - size_t i, j, expected_size; + size_t i, j; + uint64_t expected_size; char *expected; va_list ap; vector snaps; @@ -522,14 +524,14 @@ int test_ls_snaps(librbd::Image& image, size_t num_expected, ...) va_start(ap, num_expected); for (i = num_expected; i > 0; i--) { expected = va_arg(ap, char *); - expected_size = va_arg(ap, int); + expected_size = va_arg(ap, uint64_t); int found = 0; for (j = 0; j < snaps.size(); j++) { if (snaps[j].name == "") continue; if (strcmp(snaps[j].name.c_str(), expected) == 0) { cout << "found " << snaps[j].name << " with size " << snaps[j].size << endl; - assert(snaps[j].size == (size_t) expected_size); + assert(snaps[j].size == expected_size); snaps[j].name = ""; found = 1; break;