diff options
| -rw-r--r-- | libglusterfs/src/common-utils.c | 8 | ||||
| -rw-r--r-- | xlators/cluster/ec/src/ec-helpers.c | 2 | 
2 files changed, 7 insertions, 3 deletions
diff --git a/libglusterfs/src/common-utils.c b/libglusterfs/src/common-utils.c index bdf340d8612..56f545f28de 100644 --- a/libglusterfs/src/common-utils.c +++ b/libglusterfs/src/common-utils.c @@ -4616,7 +4616,7 @@ int  gf_bits_count (uint64_t n)  {          int val = 0; -#ifdef _GNU_SOURCE +#if defined(__GNUC__) || defined(__clang__)          val = __builtin_popcountll (n);  #else          n -= (n >> 1) & 0x5555555555555555ULL; @@ -4633,7 +4633,11 @@ gf_bits_count (uint64_t n)  int  gf_bits_index (uint64_t n)  { -    return ffsll(n) - 1; +#if defined(__GNUC__) || defined(__clang__) +        return __builtin_ffsll (n) - 1; +#else +        return ffsll (n) - 1; +#endif  }  const char* diff --git a/xlators/cluster/ec/src/ec-helpers.c b/xlators/cluster/ec/src/ec-helpers.c index 751d45a63f6..4e9771f5308 100644 --- a/xlators/cluster/ec/src/ec-helpers.c +++ b/xlators/cluster/ec/src/ec-helpers.c @@ -102,7 +102,7 @@ int32_t ec_bits_consume(uint64_t * n)      tmp &= -tmp;      *n ^= tmp; -    return ffsll(tmp) - 1; +    return gf_bits_index(tmp);  }  size_t ec_iov_copy_to(void * dst, struct iovec * vector, int32_t count,  | 
