dm: convert ffs to __ffs
ffs counts bit starting with 1 (for the least significant bit), __ffs counts bits starting with 0. This patch changes various occurrences of ffs to __ffs and removes subtraction of 1 from the result. Note that __ffs (unlike ffs) is not defined when called with zero argument, but it is not called with zero argument in any of these cases. Signed-off-by: Mikulas Patocka <mpatocka@redhat.com> Signed-off-by: Mike Snitzer <snitzer@redhat.com>
This commit is contained in:
parent
6f65985e26
commit
a3d939ae7b
|
@ -1598,11 +1598,11 @@ struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsign
|
||||||
|
|
||||||
c->bdev = bdev;
|
c->bdev = bdev;
|
||||||
c->block_size = block_size;
|
c->block_size = block_size;
|
||||||
c->sectors_per_block_bits = ffs(block_size) - 1 - SECTOR_SHIFT;
|
c->sectors_per_block_bits = __ffs(block_size) - SECTOR_SHIFT;
|
||||||
c->pages_per_block_bits = (ffs(block_size) - 1 >= PAGE_SHIFT) ?
|
c->pages_per_block_bits = (__ffs(block_size) >= PAGE_SHIFT) ?
|
||||||
ffs(block_size) - 1 - PAGE_SHIFT : 0;
|
__ffs(block_size) - PAGE_SHIFT : 0;
|
||||||
c->blocks_per_page_bits = (ffs(block_size) - 1 < PAGE_SHIFT ?
|
c->blocks_per_page_bits = (__ffs(block_size) < PAGE_SHIFT ?
|
||||||
PAGE_SHIFT - (ffs(block_size) - 1) : 0);
|
PAGE_SHIFT - __ffs(block_size) : 0);
|
||||||
|
|
||||||
c->aux_size = aux_size;
|
c->aux_size = aux_size;
|
||||||
c->alloc_callback = alloc_callback;
|
c->alloc_callback = alloc_callback;
|
||||||
|
|
|
@ -83,7 +83,7 @@ static struct list_head *list_pop(struct list_head *q)
|
||||||
static int alloc_hash(struct hash *hash, unsigned elts)
|
static int alloc_hash(struct hash *hash, unsigned elts)
|
||||||
{
|
{
|
||||||
hash->nr_buckets = next_power(elts >> 4, 16);
|
hash->nr_buckets = next_power(elts >> 4, 16);
|
||||||
hash->hash_bits = ffs(hash->nr_buckets) - 1;
|
hash->hash_bits = __ffs(hash->nr_buckets);
|
||||||
hash->table = vzalloc(sizeof(*hash->table) * hash->nr_buckets);
|
hash->table = vzalloc(sizeof(*hash->table) * hash->nr_buckets);
|
||||||
|
|
||||||
return hash->table ? 0 : -ENOMEM;
|
return hash->table ? 0 : -ENOMEM;
|
||||||
|
|
|
@ -1410,7 +1410,7 @@ static struct dm_cache_policy *mq_create(dm_cblock_t cache_size,
|
||||||
mq->generation_period = max((unsigned) from_cblock(cache_size), 1024U);
|
mq->generation_period = max((unsigned) from_cblock(cache_size), 1024U);
|
||||||
|
|
||||||
mq->nr_buckets = next_power(from_cblock(cache_size) / 2, 16);
|
mq->nr_buckets = next_power(from_cblock(cache_size) / 2, 16);
|
||||||
mq->hash_bits = ffs(mq->nr_buckets) - 1;
|
mq->hash_bits = __ffs(mq->nr_buckets);
|
||||||
mq->table = vzalloc(sizeof(*mq->table) * mq->nr_buckets);
|
mq->table = vzalloc(sizeof(*mq->table) * mq->nr_buckets);
|
||||||
if (!mq->table)
|
if (!mq->table)
|
||||||
goto bad_alloc_table;
|
goto bad_alloc_table;
|
||||||
|
|
|
@ -566,7 +566,7 @@ static int h_init(struct hash_table *ht, struct entry_space *es, unsigned nr_ent
|
||||||
|
|
||||||
ht->es = es;
|
ht->es = es;
|
||||||
nr_buckets = roundup_pow_of_two(max(nr_entries / 4u, 16u));
|
nr_buckets = roundup_pow_of_two(max(nr_entries / 4u, 16u));
|
||||||
ht->hash_bits = ffs(nr_buckets) - 1;
|
ht->hash_bits = __ffs(nr_buckets);
|
||||||
|
|
||||||
ht->buckets = vmalloc(sizeof(*ht->buckets) * nr_buckets);
|
ht->buckets = vmalloc(sizeof(*ht->buckets) * nr_buckets);
|
||||||
if (!ht->buckets)
|
if (!ht->buckets)
|
||||||
|
|
|
@ -183,7 +183,7 @@ int dm_exception_store_set_chunk_size(struct dm_exception_store *store,
|
||||||
|
|
||||||
store->chunk_size = chunk_size;
|
store->chunk_size = chunk_size;
|
||||||
store->chunk_mask = chunk_size - 1;
|
store->chunk_mask = chunk_size - 1;
|
||||||
store->chunk_shift = ffs(chunk_size) - 1;
|
store->chunk_shift = __ffs(chunk_size);
|
||||||
|
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
|
@ -193,7 +193,7 @@ struct dm_region_hash *dm_region_hash_create(
|
||||||
rh->max_recovery = max_recovery;
|
rh->max_recovery = max_recovery;
|
||||||
rh->log = log;
|
rh->log = log;
|
||||||
rh->region_size = region_size;
|
rh->region_size = region_size;
|
||||||
rh->region_shift = ffs(region_size) - 1;
|
rh->region_shift = __ffs(region_size);
|
||||||
rwlock_init(&rh->hash_lock);
|
rwlock_init(&rh->hash_lock);
|
||||||
rh->mask = nr_buckets - 1;
|
rh->mask = nr_buckets - 1;
|
||||||
rh->nr_buckets = nr_buckets;
|
rh->nr_buckets = nr_buckets;
|
||||||
|
|
|
@ -321,7 +321,7 @@ static int read_header(struct pstore *ps, int *new_snapshot)
|
||||||
bdev_logical_block_size(dm_snap_cow(ps->store->snap)->
|
bdev_logical_block_size(dm_snap_cow(ps->store->snap)->
|
||||||
bdev) >> 9);
|
bdev) >> 9);
|
||||||
ps->store->chunk_mask = ps->store->chunk_size - 1;
|
ps->store->chunk_mask = ps->store->chunk_size - 1;
|
||||||
ps->store->chunk_shift = ffs(ps->store->chunk_size) - 1;
|
ps->store->chunk_shift = __ffs(ps->store->chunk_size);
|
||||||
chunk_size_supplied = 0;
|
chunk_size_supplied = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue