|
@@ -1598,11 +1598,11 @@ struct dm_bufio_client *dm_bufio_client_create(struct block_device *bdev, unsign
|
|
|
|
|
|
c->bdev = bdev;
|
|
|
c->block_size = block_size;
|
|
|
- c->sectors_per_block_bits = ffs(block_size) - 1 - SECTOR_SHIFT;
|
|
|
- c->pages_per_block_bits = (ffs(block_size) - 1 >= PAGE_SHIFT) ?
|
|
|
- ffs(block_size) - 1 - PAGE_SHIFT : 0;
|
|
|
- c->blocks_per_page_bits = (ffs(block_size) - 1 < PAGE_SHIFT ?
|
|
|
- PAGE_SHIFT - (ffs(block_size) - 1) : 0);
|
|
|
+ c->sectors_per_block_bits = __ffs(block_size) - SECTOR_SHIFT;
|
|
|
+ c->pages_per_block_bits = (__ffs(block_size) >= PAGE_SHIFT) ?
|
|
|
+ __ffs(block_size) - PAGE_SHIFT : 0;
|
|
|
+ c->blocks_per_page_bits = (__ffs(block_size) < PAGE_SHIFT ?
|
|
|
+ PAGE_SHIFT - __ffs(block_size) : 0);
|
|
|
|
|
|
c->aux_size = aux_size;
|
|
|
c->alloc_callback = alloc_callback;
|