]>
Commit | Line | Data |
---|---|---|
ac27a0ec | 1 | /* |
617ba13b | 2 | * linux/fs/ext4/bitmap.c |
ac27a0ec DK |
3 | * |
4 | * Copyright (C) 1992, 1993, 1994, 1995 | |
5 | * Remy Card ([email protected]) | |
6 | * Laboratoire MASI - Institut Blaise Pascal | |
7 | * Universite Pierre et Marie Curie (Paris VI) | |
8 | */ | |
9 | ||
10 | #include <linux/buffer_head.h> | |
dab291af | 11 | #include <linux/jbd2.h> |
3dcf5451 | 12 | #include "ext4.h" |
ac27a0ec | 13 | |
617ba13b | 14 | #ifdef EXT4FS_DEBUG |
ac27a0ec | 15 | |
febfcf91 | 16 | static const int nibblemap[] = {4, 3, 3, 2, 3, 2, 2, 1, 3, 2, 2, 1, 2, 1, 1, 0}; |
ac27a0ec | 17 | |
498e5f24 | 18 | unsigned int ext4_count_free(struct buffer_head *map, unsigned int numchars) |
ac27a0ec | 19 | { |
498e5f24 | 20 | unsigned int i, sum = 0; |
ac27a0ec DK |
21 | |
22 | if (!map) | |
af5bc92d | 23 | return 0; |
ac27a0ec DK |
24 | for (i = 0; i < numchars; i++) |
25 | sum += nibblemap[map->b_data[i] & 0xf] + | |
26 | nibblemap[(map->b_data[i] >> 4) & 0xf]; | |
af5bc92d | 27 | return sum; |
ac27a0ec DK |
28 | } |
29 | ||
617ba13b | 30 | #endif /* EXT4FS_DEBUG */ |
ac27a0ec | 31 |