Btrfs: Use bitmap_set/clear()
authorLi Zefan <lizf@cn.fujitsu.com>
Mon, 14 Mar 2011 05:40:51 +0000 (13:40 +0800)
committerLi Zefan <lizf@cn.fujitsu.com>
Mon, 25 Apr 2011 08:46:01 +0000 (16:46 +0800)
No functional change.

Signed-off-by: Li Zefan <lizf@cn.fujitsu.com>
fs/btrfs/free-space-cache.c

index 3af64c6ea9df144af319622dc76e907a12fceb17..0e23bbabbba262f6ed3f95ccf4db50dcb1351e1a 100644 (file)
@@ -1134,15 +1134,13 @@ static void bitmap_clear_bits(struct btrfs_block_group_cache *block_group,
                              struct btrfs_free_space *info, u64 offset,
                              u64 bytes)
 {
-       unsigned long start, end;
-       unsigned long i;
+       unsigned long start, count;
 
        start = offset_to_bit(info->offset, block_group->sectorsize, offset);
-       end = start + bytes_to_bits(bytes, block_group->sectorsize);
-       BUG_ON(end > BITS_PER_BITMAP);
+       count = bytes_to_bits(bytes, block_group->sectorsize);
+       BUG_ON(start + count > BITS_PER_BITMAP);
 
-       for (i = start; i < end; i++)
-               clear_bit(i, info->bitmap);
+       bitmap_clear(info->bitmap, start, count);
 
        info->bytes -= bytes;
        block_group->free_space -= bytes;
@@ -1152,15 +1150,13 @@ static void bitmap_set_bits(struct btrfs_block_group_cache *block_group,
                            struct btrfs_free_space *info, u64 offset,
                            u64 bytes)
 {
-       unsigned long start, end;
-       unsigned long i;
+       unsigned long start, count;
 
        start = offset_to_bit(info->offset, block_group->sectorsize, offset);
-       end = start + bytes_to_bits(bytes, block_group->sectorsize);
-       BUG_ON(end > BITS_PER_BITMAP);
+       count = bytes_to_bits(bytes, block_group->sectorsize);
+       BUG_ON(start + count > BITS_PER_BITMAP);
 
-       for (i = start; i < end; i++)
-               set_bit(i, info->bitmap);
+       bitmap_set(info->bitmap, start, count);
 
        info->bytes += bytes;
        block_group->free_space += bytes;