dm verity: use __ffs and __fls
authorMikulas Patocka <mpatocka@redhat.com>
Wed, 10 Jul 2013 22:41:17 +0000 (23:41 +0100)
committerAlasdair G Kergon <agk@redhat.com>
Wed, 10 Jul 2013 22:41:17 +0000 (23:41 +0100)
This patch changes ffs() to __ffs() and fls() to __fls() which don't add
one to the result.

Signed-off-by: Mikulas Patocka <mpatocka@redhat.com>
Signed-off-by: Alasdair G Kergon <agk@redhat.com>
drivers/md/dm-verity.c

index 9804da16a4764ac07dbdf8c63a5de531455a3639..4b7941db3aff33223481464f24a162d101ab7698 100644 (file)
@@ -451,7 +451,7 @@ static void verity_prefetch_io(struct work_struct *work)
                                goto no_prefetch_cluster;
 
                        if (unlikely(cluster & (cluster - 1)))
-                               cluster = 1 << (fls(cluster) - 1);
+                               cluster = 1 << __fls(cluster);
 
                        hash_block_start &= ~(sector_t)(cluster - 1);
                        hash_block_end |= cluster - 1;
@@ -723,7 +723,7 @@ static int verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
                r = -EINVAL;
                goto bad;
        }
-       v->data_dev_block_bits = ffs(num) - 1;
+       v->data_dev_block_bits = __ffs(num);
 
        if (sscanf(argv[4], "%u%c", &num, &dummy) != 1 ||
            !num || (num & (num - 1)) ||
@@ -733,7 +733,7 @@ static int verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
                r = -EINVAL;
                goto bad;
        }
-       v->hash_dev_block_bits = ffs(num) - 1;
+       v->hash_dev_block_bits = __ffs(num);
 
        if (sscanf(argv[5], "%llu%c", &num_ll, &dummy) != 1 ||
            (sector_t)(num_ll << (v->data_dev_block_bits - SECTOR_SHIFT))
@@ -812,7 +812,7 @@ static int verity_ctr(struct dm_target *ti, unsigned argc, char **argv)
        }
 
        v->hash_per_block_bits =
-               fls((1 << v->hash_dev_block_bits) / v->digest_size) - 1;
+               __fls((1 << v->hash_dev_block_bits) / v->digest_size);
 
        v->levels = 0;
        if (v->data_blocks)