From 253cee5a106e5debfbdd9fb38bf62adab12d1c66 Mon Sep 17 00:00:00 2001 From: nick Date: Wed, 24 Jul 2013 15:08:29 +0100 Subject: [PATCH] flexnbd: Acknowledge new return type of bitset_run_count --- src/client.c | 4 ++-- src/mirror.c | 6 +++--- tests/unit/check_bitset.c | 13 +++++++++---- 3 files changed, 14 insertions(+), 9 deletions(-) diff --git a/src/client.c b/src/client.c index d2f6da5..b514446 100644 --- a/src/client.c +++ b/src/client.c @@ -79,7 +79,7 @@ void client_destroy( struct client *client ) * allocated, we can proceed as normal and make one call to writeloop. * */ -void write_not_zeroes(struct client* client, uint64_t from, int len) +void write_not_zeroes(struct client* client, uint64_t from, uint64_t len) { NULLCHECK( client ); NULLCHECK( client->serve ); @@ -96,7 +96,7 @@ void write_not_zeroes(struct client* client, uint64_t from, int len) * and end to get the exact number of bytes. */ - int run = bitset_run_count(map, from, len); + uint64_t run = bitset_run_count(map, from, len); debug("write_not_zeroes: from=%ld, len=%d, run=%d", from, len, run); diff --git a/src/mirror.c b/src/mirror.c index abb4afb..71a4948 100644 --- a/src/mirror.c +++ b/src/mirror.c @@ -171,17 +171,17 @@ int mirror_pass(struct server * serve, int is_last_pass, uint64_t *written) while (current < serve->size) { - int run = bitset_run_count(map, current, mirror_longest_write); + uint64_t run = bitset_run_count(map, current, mirror_longest_write); if ( current + run > serve->size ) { debug( "Size not divisible by %i, adjusting final block", block_allocation_resolution ); - run -= (( current + run ) - serve->size ); + run = serve->size - current; } - debug("mirror current=%ld, run=%d", current, run); + debug("mirror current=%"PRIu64", run=%"PRIu64, current, run); /* FIXME: we could avoid sending sparse areas of the * disc here, and probably save a lot of bandwidth and diff --git a/tests/unit/check_bitset.c b/tests/unit/check_bitset.c index af41846..d093a5b 100644 --- a/tests/unit/check_bitset.c +++ b/tests/unit/check_bitset.c @@ -149,14 +149,19 @@ END_TEST START_TEST( test_bitset_set ) { struct bitset_mapping* map; - uint64_t *num; map = bitset_alloc(64, 1); - num = (uint64_t*) map->bits; - ck_assert_int_eq( 0x0000000000000000, *num ); + assert_bitset_is( map, 0x0000000000000000 ); bitset_set( map ); - ck_assert_int_eq( 0xffffffffffffffff, *num ); + assert_bitset_is( map, 0xffffffffffffffff ); + free( map ); + + map = bitset_alloc( 6400, 100 ); + assert_bitset_is( map, 0x0000000000000000 ); + bitset_set( map ); + assert_bitset_is( map, 0xffffffffffffffff ); + free( map ); } END_TEST