From d763ab4e74aeb0307f743425753ffbf076e8daf4 Mon Sep 17 00:00:00 2001 From: Matthew Bloch Date: Thu, 7 Jun 2012 12:27:46 +0100 Subject: [PATCH] Fixed bug in bitset_run_count which was causing data corruptionn writing around sparse boundaries. --- src/bitset.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/bitset.h b/src/bitset.h index 9c081af..ee0f8fb 100644 --- a/src/bitset.h +++ b/src/bitset.h @@ -147,7 +147,8 @@ static inline int bitset_run_count( uint64_t len) { INT_FIRST_AND_LAST; - return bit_run_count(set->bits, first, bitlen) * set->resolution; + return (bit_run_count(set->bits, first, bitlen) * set->resolution) - + (from % set->resolution); } /** Tests whether the bit field is clear for the given file offset.