summaryrefslogtreecommitdiffstats
path: root/fs/ext4/bitmap.c
diff options
context:
space:
mode:
authorTheodore Ts'o <tytso@mit.edu>2012-07-01 01:14:57 +0200
committerTheodore Ts'o <tytso@mit.edu>2012-07-01 01:14:57 +0200
commitf6fb99cadcd44660c68e13f6eab28333653621e6 (patch)
tree4075bd09e5ec75bbeaa9d0ca498e50cfb0c45dfe /fs/ext4/bitmap.c
parentext4: honor O_(D)SYNC semantic in ext4_fallocate() (diff)
downloadlinux-f6fb99cadcd44660c68e13f6eab28333653621e6.tar.xz
linux-f6fb99cadcd44660c68e13f6eab28333653621e6.zip
ext4: pass a char * to ext4_count_free() instead of a buffer_head ptr
Make it possible for ext4_count_free to operate on buffers and not just data in buffer_heads. Signed-off-by: "Theodore Ts'o" <tytso@mit.edu> Cc: stable@kernel.org
Diffstat (limited to 'fs/ext4/bitmap.c')
-rw-r--r--fs/ext4/bitmap.c8
1 files changed, 3 insertions, 5 deletions
diff --git a/fs/ext4/bitmap.c b/fs/ext4/bitmap.c
index b319721da26a..7e86a6d28c64 100644
--- a/fs/ext4/bitmap.c
+++ b/fs/ext4/bitmap.c
@@ -15,15 +15,13 @@
static const int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0};
-unsigned int ext4_count_free(struct buffer_head *map, unsigned int numchars)
+unsigned int ext4_count_free(char *bitmap, unsigned int numchars)
{
unsigned int i, sum = 0;
- if (!map)
- return 0;
for (i = 0; i < numchars; i++)
- sum += nibblemap[map->b_data[i] & 0xf] +
- nibblemap[(map->b_data[i] >> 4) & 0xf];
+ sum += nibblemap[bitmap[i] & 0xf] +
+ nibblemap[(bitmap[i] >> 4) & 0xf];
return sum;
}